0

NuGet の *some_framework* v2.1 に依存するassembly_Aがあります。次に、assembly_Aに依存するassembly_Bがありますが、ソリューションをコンパイルすると、 assembly_Bでもたらされるのは *some_framework* の 2.1 ではなく、バージョン 2.0です。

私の推測では、私の GAC のバージョンが v2.0 であるため、ビルドで v2.0 が選択されたのですが、v2.1 が必要です... *some_framework* を使用する他の依存関係はありません。明らかな回避策は、NuGet を使用してassembly_Bを *some_framework* v2.1 に依存させることですが、それはあまりエレガントではありません。

何かご意見は?

ありがとう

4

1 に答える 1

0

独自のソリューションをお持ちですか?そうでない場合は、nuget 構成ファイルを使用して、プロジェクト用に同じパッケージ フォルダーを保持してみてください。

これを実現するための私の考えは次のとおりです。

  • assembly_Aに依存関係をインストールしました
  • assembly_B (既に assembly_A への参照があります) で、インストールした依存関係のコードを使用します (csproj に dll を追加します)
  • assembly_Aでは、依存関係をnugetから更新しましたが、assembly_B (csproj) では、参照は古いバージョンへと続きます

web.config > runtime > assemblyBindingセクションを見て、依存関係のバージョンを設定します

後者の場合、パッケージのディレクトリに移動し、その依存関係に異なるバージョンが含まれているかどうかを確認します。存在する場合は、古いバージョンを削除し、プロジェクト参照を確認するためにソリューションを再構築します。

于 2013-09-26T05:58:36.860 に答える