VS2013 构建不包括项目依赖项的 Nuget 依赖项的二进制文件
VS2013 build not including binaries for Nuget dependencies of project dependency
我在大型解决方案中有一个控制台应用程序项目(称为 App),其中包含我的应用程序需要使用的库项目(称为 Lib)。
App 有一个对 Lib 的项目引用,而 Lib 有对许多 Nuget 包的引用。构建解决方案时,来自 Nuget 包的二进制文件包含在 Lib 的 bin 文件夹中,但是虽然 Lib 本身的二进制文件包含在 App 的 bin 文件夹中,但它所依赖的 Nuget 包中的二进制文件却没有。
当 Lib 中的代码试图反映其依赖项时,这会导致 App 出现运行时错误。
我应该设置什么来确保包含项目依赖项的 Nuget 依赖项吗?我可以直接在 App 中引用 Nuget 包,但它们有很多,我宁愿找出正确的方法来确保解决依赖关系。
您有三个选择:
- 创建一个 post-build 事件,将所有二进制文件从
Lib
复制到 App
- 包括对项目中
App
到 运行 所需的所有二进制文件的引用。
- 将
Lib
制作成NuGet包,然后使用NuGet管理Lib
依赖。所有二进制文件都将包括在内。
选项 2 是我的一般方法,尽管可以为其中任何一个提供案例。
我在大型解决方案中有一个控制台应用程序项目(称为 App),其中包含我的应用程序需要使用的库项目(称为 Lib)。
App 有一个对 Lib 的项目引用,而 Lib 有对许多 Nuget 包的引用。构建解决方案时,来自 Nuget 包的二进制文件包含在 Lib 的 bin 文件夹中,但是虽然 Lib 本身的二进制文件包含在 App 的 bin 文件夹中,但它所依赖的 Nuget 包中的二进制文件却没有。
当 Lib 中的代码试图反映其依赖项时,这会导致 App 出现运行时错误。
我应该设置什么来确保包含项目依赖项的 Nuget 依赖项吗?我可以直接在 App 中引用 Nuget 包,但它们有很多,我宁愿找出正确的方法来确保解决依赖关系。
您有三个选择:
- 创建一个 post-build 事件,将所有二进制文件从
Lib
复制到App
- 包括对项目中
App
到 运行 所需的所有二进制文件的引用。 - 将
Lib
制作成NuGet包,然后使用NuGet管理Lib
依赖。所有二进制文件都将包括在内。
选项 2 是我的一般方法,尽管可以为其中任何一个提供案例。