VS2013版本不包括Nuget项目依赖的二进制文件



我在一个大型解决方案中有一个控制台应用程序项目(称为app),其中包括我的应用程序需要使用的库项目(称为Lib)。

App有一个对Lib的项目引用,而Lib有一些对Nuget包的引用。当构建解决方案时,Nuget包中的二进制文件包含在Lib的bin文件夹中,但是Lib本身的二进制文件包含在App的bin文件夹中,它所依赖的Nuget包的二进制文件却不包含在bin文件夹中。

当Lib中的代码试图反映其依赖关系时,这会导致App中的运行时错误。

是否应该设置某些内容以确保包含项目依赖项的Nuget依赖项?我可以直接在App中引用Nuget包,但有很多,我宁愿找出正确的方法来确保依赖关系被解决。

您有三个选择:

  1. 创建一个构建后事件,将所有二进制文件从Lib复制到App
  2. 包含App在项目中运行所需的所有二进制文件的引用。
  3. Lib做成NuGet包,然后用NuGet来管理Lib的依赖。所有的二进制文件将被包含。

选项2是我的一般方法,尽管其中任何一种情况都可以使用。

相关内容

最新更新