【发布时间】:2022-01-15 05:54:03
【问题描述】:
我想在我的应用程序中支持向后兼容性。 简单地说 - 一个应用程序需要使用不同版本的 dll 工作,具体取决于应用程序在运行时获得的标志。
我已经简化了所有内容并创建了一个包含 2 个项目的测试解决方案。 每个项目都有自己的相同 nuget 包版本。
我选择了System.Drawing.Common,因为它没有依赖关系。
ClassLibrary1 包含版本为4.5.0 的System.Drawing.Common。
ClassLibrary2 包含 System.Drawing.Common 版本 6.0.0。
两个项目的输出路径相同:
<OutputPath>..\DEBUG\</OutputPath>
当我构建我的解决方案时,我的输出文件夹中只有一个 System.Drawing.Common.dll:
因为两个 dll 都有一个名称,只有版本不同。
下图中的期望行为:
这个想法是控制 nuget 包依赖项的输出。 你知道我怎样才能做到这一点吗?
附:所有其他逻辑 - 根据版本等解决依赖关系超出了这个问题的范围。
【问题讨论】:
标签: c# .net msbuild nuget devenv