2017-06-30 281 views
0

一个控制台应用程序我在C#Windows控制台应用程序,我想在Azure的Blob存储来存储(不是文件存储),然后将其上传到远程虚拟机从命令行运行它。我该怎么做呢?我不知道如何打包应用程序需要运行的所有可执行文件和dll。存储在Azure的Blob存储

回答

0

根据你的描述,我建议你可以尝试控制台应用程序发布到一个文件夹中,那么你可以使用Azure存储库或Azure存储资源管理器工具来更新文件夹复制到Blob存储。

更多细节,你可以参考这个步骤:

1.Publish控制台应用程序的文件夹。

enter image description here

2.安装从NuGet包管理器Data movement library和文件夹复制到蔚蓝的Blob存储。

代码如下:

 CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
      CloudConfigurationManager.GetSetting("StorageConnectionString")); 

     // Create the blob client. 
     CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 

     // Retrieve reference to a previously created container. 
     CloudBlobContainer container = blobClient.GetContainerReference("brando"); 


     CloudBlobDirectory blockBlob = container.GetDirectoryReference("test"); 

     string path = @"youconsoleapplicationpath\consoletest"; 

     UploadDirectoryOptions u1 = new UploadDirectoryOptions(); 
     u1.Recursive = true; 

     TransferManager.UploadDirectoryAsync(path, blockBlob, u1, null).Wait(); 

结果:

enter image description here

或者你也可以下载azure storage explorer,那么你可以在文件夹直接拷贝到蔚蓝的Blob存储。

最后,你可以通过CMD安装azcopy下载整个文件夹复制到你的虚拟机的路径和运行应用程序。