【发布时间】:2018-11-15 17:18:24
【问题描述】:
我在 .Net 4.6.1 中有一个 Web 服务项目,我们称它为 Project X,它有 2 个项目引用(两个类库),我们称它们为 Project A 和 B。
A 在 packages.config 中有这个:
<package id="NLog" version="4.5.3" targetFramework="net35" />
虽然 X 和 B 在他们的 packages.config 中有这个:
<package id="NLog" version="4.5.3" targetFramework="net461" />
现在,当我在项目 X 的解决方案中运行此命令时:
Update-Package –reinstall nlog -ignoreDependencies
此外,我构建了 X 的解决方案,然后运行 X。 现在我想知道使用项目 A 或 B 的项目 X 中的代码流是否适用于他们在 A 或 B 的代码中具有的任何基于 nlog 的日志记录?
如果回答这个问题需要更多解释,然后请求分享任何参考链接,这将帮助我理解客户端应用程序的这种设置和 nuget 目标解决方案,该应用程序引用具有不同 nuget 目标的给定 nuget 包的依赖项。
谢谢
编辑:
恕我直言,建议的问题是重复的,因为它讨论了解决方案具有不同 nuget 版本的项目时的场景,这不是我的情况。
因为我的问题是关于两个项目具有相同的 nuget 版本但不同的 targetFramework。
像 A 它是 targetFramework="net35", 而对于 B 和 X,它是 targetFramework="net461"。
但是所有 3 个项目 A、B 和 X 都使用相同的版本,即 4.5.3。 抱歉,我之前给出的配置显示版本不同,但这不是我要谈论的,因此已编辑以使版本相同。
所以问题又是一个项目如何在构建/执行客户端应用程序(即此处的 X)期间解决每个使用相同版本但不同 targetFramework 的项目依赖项中的 2 个/多个项目依赖项。
是不是像 X 会将具有最高 targetFramework 的 nuget dll 拾取并复制到它的 bin 中?如果不是,那会发生什么?
【问题讨论】:
-
blog.davidebbo.com/2011/01/… 可能值得一读。
-
@mjvills - 感谢您的及时回复。肯定会通过它并让您知道是否可以将仅此一项标记为我正在寻找的答案...
-
@mjvills - 我检查了建议的链接以及建议的重复链接,但两者都针对 nuget 版本不同的场景,因此不适合我的情况,版本相同但包的 targetFramework 不同.您对这方面有什么建议吗?
标签: c# asp.net visual-studio-2015 nuget .net-4.6