2

mongodbワーカーの役割を利用するAzureクラウドプロジェクトがあります。ローカルエミュレーターで実行すると、すべてが正常に機能しますが、Azureステージング領域にデプロイすると、mongodbワーカーの役割が循環しなくなり、System.IO.FileNotFoundExceptionが表示されます。仮想マシンの1つにリモートで接続し、イベントビューアを確認したところ、次のエラーが見つかりました。

未処理の例外が発生しました。タイプ:System.IO.FileNotFoundExceptionプロセスID:1936プロセス名:WaWorkerHostスレッドID:4 AppDomainロールMongoDB.WindowsAzure.MongoDBRole_IN_0の未処理の例外例外:ファイルまたはアセンブリを読み込めませんでした'mswacdmi、バージョン= 1.7.0.0、Culture = neutral、 PublicKeyToken =31bf3856ad364e35'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。Microsoft.WindowsAzure.StorageClient.CloudDrive..ctor(URI uri、StorageCredentialscredentials)at Microsoft.WindowsAzure.StorageClient.CloudStorageAccountCloudDriveExtensions.CreateCloudDrive(CloudStorageAccount storageAccount、String pageBlobUri)at MongoDB.WindowsAzure.MongoDBRole.Utilities.GetMountedPathFromBlob(String localCachePath、String cloudDir、String containerName、String blobName、Int32 driveSize、

これがAzureではなくローカルで機能するのはなぜですか?アセンブリなどについてはよくわかりませんが、学習しながら学んでいます。オンラインで提案されていることの1つは、参照アセンブリのプロパティを確認し、[ローカルコピー]をtrueに設定することです。これを試しましたが、それでも同じエラーが発生します。

4

1 に答える 1

1

ワーカーロールプロジェクトでmswacdmi.dll、プロパティがCopy Local=trueに設定された.NET参照があることを確認してください。公開する場合-RDPをAzureロールインスタンス/binに送信して、デプロイされたロールのディレクトリにアセンブリがあることを確認します。

また、x64をターゲットにしていることを確認してください-私mswacdmi.dllはこのパス(Azure SDK 1.8)で見つけました:

C:\ Program Files \ Microsoft SDKs \ Windows Azure.NET SDK \ 2012-10 \ bin \ runtimes \ storage \ cloud \ x64

于 2013-02-22T15:00:28.680 に答える