というわけで、Azure の SDK 2.0 で CloudFX を使っています。コンソール アプリで Azure 環境 (クラウドでもエミュレーターでもない) の外部でワーカー ロールを実行すると、すべてがうまくいきました。
エミュレーターまたはクラウドでしようとすると、次の情報で AggregateException が発生しました。
{"The type initializer for 'Microsoft.Experience.CloudFx.Framework.Diagnostics.TraceManager' threw an exception."}
Could not load file or assembly 'Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at Microsoft.Experience.CloudFx.Framework.Diagnostics.HybridTraceEventProvider..ctor(String providerName, Guid providerGuid)
at Microsoft.Experience.CloudFx.Framework.Diagnostics.TraceManager.<>c__DisplayClass1.<Create>b__0(Guid guid)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at Microsoft.Experience.CloudFx.Framework.Diagnostics.TraceManager.Create(String providerName, Guid providerGuid)
at Microsoft.Experience.CloudFx.Framework.Diagnostics.TraceManager..cctor()
だから私は成功せずにこのアセンブリをリダイレクトしようとしました:
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.Diagnostics" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
CloudFX はまだ SDK 1.8 をバインド/参照しているようです。誰でもこの問題を手伝ってもらえますか?
ありがとう!