0

ソリューションに、Microsoft.Activies.Extensions.dll2.0.2.16を参照するワークフロープロジェクトがあります。

NuGetパッケージマネージャーを使用して、現在のバージョン2.0.6.9にアップグレードしました

ワークフロープロジェクト.dllを参照するWebロールをクラウドにデプロイします。

 Could not load file or assembly 'Microsoft.Activities.Extensions, PublicKeyToken=23b0c89d0d5ad43f' or one of its dependencies. The system cannot find the file specified.

VMにリモートデスクトップし、アセンブリのどちらのバージョンもデプロイされていないF:/approot/binことを確認しました。

これはNuGetパッケージなので、で見つけることができます<Solution root>/Packages folder。NuGetによって作成された新しいフォルダーだけでなく、アセンブリが内部にないにもかかわらず残された古いバージョンのフォルダーも表示されます。そのフォルダーを削除し、アセンブリリダイレクトをweb.configに配置しました。

<dependentAssembly>
    <assemblyIdentity name="Microsoft.Activities.Extensions" publicKeyToken="23b0c89d0d5ad43f" />
    <bindingRedirect oldVersion="2.0.2.12" newVersion="2.0.6.9" />
  </dependentAssembly>

公開を介してリード、ビルド、再デプロイします。

エラーは解決せず、approot / binを再度掘り下げると、アセンブリがまだデプロイされていないことがわかります。

もちろん、CopyLocalをtrueに設定しています。

なぜデプロイされないのですか?

4

1 に答える 1

0

OK、この記事を見つけて解決しました:

http://weblogs.asp.net/albertpascual/archive/2008/12/16/the-cloud-for-a-fast-deployment-of-proof-of-concepts.aspx

Webロールがアセンブリを参照する場合、他のアセンブリを参照する場合よりも、Copy Local=trueであってもそれらのアセンブリはデプロイされないことがわかります。

解決策は、ローカルをtrueにコピーして、Webロールプロジェクトでこれらの子の依存関係を直接参照することです。

そうして初めて、デプロイ時にapproot/binに表示されました。

于 2013-02-02T18:15:18.853 に答える