2

というわけで、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 をバインド/参照しているようです。誰でもこの問題を手伝ってもらえますか?

ありがとう!

4

1 に答える 1

1

MSFT の担当者である Valery の助けを借りて、バージョン 1.8.0.0 を指しているものがないことを確認し、assemblyBinding リダイレクト構成が追加されていることを確認する構成を再確認することで、この問題を修正することができました。

Azure SDK 2.0 をサポートする新しいバージョンの CloudFX リリースはありませんが、構成にこのリダイレクト runtime/assemblyBinding/セクションを手動で追加するだけで済みます。

<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>

また、Microsoft.WindowsAzure.Diagnostics version=2.0.0.0 を明示的に指す AzureDiagnostics という Azure 固有のトレース リスナー

これにより、Azure SDK 2.0 で CloudFX を使用できるようになります。

于 2013-06-11T20:49:02.430 に答える