首页 > 解决方案 > 在一个项目中使用同一个 nuget 的两个不同版本来构建两个不同的应用程序?

问题描述

我想使用最新和最好的主要 nuget 包版本构建我的应用程序。但是由于一个未解决的错误,我还需要为托管用例使用相同 nuget 包的较低版本构建它。

这个问题来看,我认为在一个项目中是不可能的?我需要把它分成几个项目吗?我正在使用 Microsoft.NET.Sdk。切换包时实际代码不会改变。(我在 nuget 中使用的 API 保持不变。)

编辑: 目前我只是在 nuget 参考中更改一个数字并再次构建两个版本,这可以通过一些构建基础设施自动化吗?

Edit2Twitter建议它可能。

标签: c#f#nugetcsprojfsproj

解决方案


这是不可能的,或者不值得努力。使用相同 NuGet 的较低版本或修复错误。也许可以通过动态加载 DLL 之类的方法来实现Assembly.LoadFile("mylibv1.dll")Assembly.LoadFile("mylibv2.dll")但这听起来比仅使用较低版本或修复错误要复杂得多。否则应用程序如何知道它需要加载和使用哪个 FSharp.Core.dll?


推荐阅读