Я пытаюсь запустить исполняемый файл, скомпилированный в Matlab, в облаке Azure, и для этой цели мне нужно получить v78.zip в локальном хранилище облака и разархивировать его, прежде чем я смогу попытаться запустить exe в облаке. Программа отлично работает при локальном выполнении, но при развертывании выдает ошибку в строке, отмеченной ниже в коде. Ошибка:
Процесс не может получить доступ к файлу «C: \ Resources \ directory \ cc0a20f5c1314f299ade4973ff1f4cad.WebRole.LocalStorage1 \ v78.zip», потому что он используется другим процессом.
Сведения об исключении: System.IO.IOException: процесс не может получить доступ к файлу «C: \ Resources \ directory \ cc0a20f5c1314f299ade4973ff1f4cad.WebRole.LocalStorage1 \ v78.zip», поскольку он используется другим процессом.
Код приведен ниже:
string localPath = RoleEnvironment.GetLocalResource("LocalStorage1").RootPath;
Response.Write(localPath + " \n");
Directory.SetCurrentDirectory(localPath);
CloudBlob mblob = GetProgramContainer().GetBlobReference("v78.zip");
CloudBlockBlob mbblob = mblob.ToBlockBlob;
CloudBlob zipblob = GetProgramContainer().GetBlobReference("7z.exe");
string zipPath = Path.Combine(localPath, "7z.exe");
string matlabPath = Path.Combine(localPath, "v78.zip");
IEnumerable<ListBlockItem> blocklist = mbblob.DownloadBlockList();
BlobStream stream = mbblob.OpenRead();
>> FileStream fs = File.Create(matlabPath); (Exception occurs here)
Было бы здорово, если бы кто-нибудь сказал мне, в чем я ошибаюсь.