【问题标题】:Use two different versions of the same nuget in one project to build two different apps?在一个项目中使用同一个 nuget 的两个不同版本来构建两个不同的应用程序?
【发布时间】:2020-05-20 08:07:17
【问题描述】:
我想使用最新最好的主要 nuget 包版本构建我的应用程序。
但是由于an unresolved error,我还需要为托管用例使用相同nuget包的较低版本来构建它。
来自this question 我认为不可能在一个项目中实现?我需要把它分成几个项目吗?
我正在使用 Microsoft.NET.Sdk。
切换包时实际代码不会改变。 (我在 nuget 中使用的 API 保持不变。)
编辑:
目前我只是在 nuget 参考中更改一个数字并再次构建两个版本,这可以通过一些构建基础设施自动化吗?
Edit2:Twitter 建议它可能。
【问题讨论】:
标签:
c#
f#
nuget
csproj
fsproj
【解决方案1】:
这是不可能的,或者不值得努力。使用相同 NuGet 的较低版本或修复错误。也许可以通过动态加载 DLL,如Assembly.LoadFile("mylibv1.dll")、Assembly.LoadFile("mylibv2.dll"),但这听起来比使用较低版本或修复错误要复杂得多。否则应用程序如何知道它需要加载和使用哪个 FSharp.Core.dll?