13

これが以前に議論された質問であることは知っていますが、私には理解できない状況があります。

私は次のプロジェクトを持っています

  • プロジェクトA
    • プロジェクトB
      • NuGet パッケージ「log4net」
      • NuGet パッケージ "ServerAppFabric.Client"

プロジェクト A には、プロジェクト B へのビジュアル スタジオ参照があります。プロジェクト B のコードで両方のパッケージを使用しており、デバッグ モードでビルドしています。プロジェクト B の構成は次のようになります。

<Reference Include="log4net">
  <HintPath>..\packages\log4net.2.0.0\lib\net40-full\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.ApplicationServer.Caching.Client">
  <HintPath>..\packages\ServerAppFabric.Client.1.1.2106\lib\Microsoft.ApplicationServer.Caching.Client.dll</HintPath>
</Reference>
<Reference Include="Microsoft.ApplicationServer.Caching.Core">
  <HintPath>..\packages\ServerAppFabric.Client.1.1.2106\lib\Microsoft.ApplicationServer.Caching.Core.dll</HintPath>
</Reference>

* log4net の dll ファイルのみがプロジェクト A の bin フォルダーにコピーされ、Client ファイルと Core ファイルはコピーされないのはなぜですか? どんな助けや説明も大歓迎です!*

4

2 に答える 2

5

やや複雑な依存関係グラフで同じ問題が発生しました。

  1. Reference Properties に移動し、Copy Local=True を設定します。
  2. コンパイルして、アセンブリが bin フォルダーにコピーされたかどうかを確認します。
  3. それでも問題が解決しない場合は、次の回答を試してください: https://stackoverflow.com/a/19889803/1074245
于 2013-11-10T12:53:59.627 に答える
3

これは NuGet とは関係ないと思います。これは、Visual Studio または MSBuild で参照がどのように機能するかに関連している必要があります。ProjectB のライブラリを参照するだけでは、ProjectA の bin フォルダーには表示されません。ただし、参照されたライブラリからいくつかのタイプを使用すると、その場合にのみ bin フォルダーに表示されます。

于 2013-06-25T10:05:57.953 に答える