Azure 클라우드에서 실행중인 matlab 컴파일 된 exe를 얻으려고하는데, 그 목적으로 v78.zip을 로컬에 가져와야합니다. 클라우드를 저장하고 압축을 풀어서 클라우드에서 exe를 실행 해 볼 수 있습니다. 이 프로그램은 로컬에서 실행될 때 제대로 작동하지만 배포시 코드 아래에 표시된 줄에 오류가 발생합니다. 오류 :Azure : 프로세스가 다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 접근 할 수 없습니다. "
프로세스가 다른 프로세스에서 사용 중이므로 'C : \ Resources \ directory \ cc0a20f5c1314f299ade4973ff1f4cad.WebRole.LocalStorage1 \ v78.zip'파일에 액세스 할 수 없습니다.
예외 정보 : System.IO.IOException : 프로세스가 파일 'C를 : 자원 \ \ 디렉토리 \ 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)
내가 잘못거야 어디 사람이 말해 수 있다면 큰 도움이 될 것입니다.
안녕하세요 Dan, 제안에 감사드립니다. 나는 그것을 구현하는 2 가지 문제에 직면하고있다 - 먼저, System.IDisposable로 암시 적으로 변환 할 수있는 유형을 기대하고 두 번째로, stmt를 사용하여 내부에서 일어나는 선언과 할당이있다. 그게 제대로 작동하지 않을까요? 내가 여기서 뭔가를 놓치고 있니? – Shantanu