13

我知道这是一个之前已经讨论过的问题,但我有一个我不明白的情况。

我有以下项目

  • 项目A
    • 项目 B
      • NuGet 包“log4net”
      • NuGet 包“ServerAppFabric.Client”

项目 A 有一个对项目 B 的 Visual Studio 参考。我在项目 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. 转到参考属性并设置 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 回答