【问题标题】:VS2013 build not including binaries for Nuget dependencies of project dependencyVS2013 构建不包括项目依赖项的 Nuget 依赖项的二进制文件
【发布时间】:2015-07-14 22:27:57
【问题描述】:

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

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

当 Lib 中的代码尝试反映其依赖项时,这会导致 App 中出现运行时错误。

我应该设置什么来确保包含项目依赖项的 Nuget 依赖项吗?我可以直接在 App 中引用 Nuget 包,但其中有很多,我宁愿找出确保解决依赖关系的正确方法。

【问题讨论】:

    标签: c# visual-studio-2013 nuget


    【解决方案1】:

    您有三个选择:

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

    选项 2 是我的一般方法,尽管可以针对其中任何一个进行案例。

    【讨论】:

    • 谢谢。第一个选项听起来可能更能抵抗未来对 Lib 依赖项的更改。
    • 确实如此,但它对于应用程序的实际依赖关系也更加不透明。我刚刚添加了第三个选项:NuGet。
    • 没错,我可能会添加每个失败的,然后测试下一个失败,直到我得到所有。它反映了所有这些,所以我不太可能错过任何一个。
    猜你喜欢
    • 2019-03-19
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    相关资源
    最近更新 更多