【发布时间】:2021-01-08 15:16:53
【问题描述】:
切入正题:
我用 .Net 5 编写的 Visual Studio 解决方案/项目在引用 .Net Core 3.1 NuGet 包时如何成功编译和运行?
更多详情
我有一个包含多个项目的 Visual Studio 解决方案。全部用 .Net Core 3.1 编写,目标框架为 netcoreapp3.1。见下文。
<TargetFramework>netcoreapp3.1</TargetFramework>
我将所有项目升级到 .Net 5,目标框架为 net5.0 见下文。
<TargetFramework>net5.0</TargetFramework>
我必须升级所有这些,即使是那些只有 POCO 类的。如果没有,解决方案将无法编译,这对我来说很有意义。
我的解决方案引用了 2 个 NuGet 包。由我公司的另一位开发人员编写。谁不再和我们在一起了。
其中一个包是用 .Net Standard 编写的。我完全理解为什么我对那个包没有问题。它使用以下目标框架。
<TargetFramework>netstandard2.1</TargetFramework>
但是,另一个包是使用目标框架netcoreapp3.1。 (我可以访问源代码。)
我的解决方案符合并在本地运行良好。我不明白这怎么可能。
为什么我必须将我的解决方案中的所有项目升级到 .Net 5。但是,不必升级包。我已经准备好升级它了。
是不是有特殊的包装方式?
任何内部都会有帮助。
我只是想明白这一点。
【问题讨论】:
-
为什么不可能? .NET 5 本质上是 .NET Core 4,除了他们称它为 .NET 5(至少,据我所知),所以我没有理由想到为什么不能包含较旧的包。
-
那么,为什么我要升级解决方案中的所有项目?它们只是本地包,对吧?
-
可能不是您的确切设置,但我刚刚创建了一个 .NET 5 类库并包含了一个 .NET Core 3.1 控制台应用程序,并且编译正常。
-
好的,感谢您的洞察力。基本上,你回答了我的问题。
-
@Richard,有关于这个问题的更新吗?请检查我的回答是否可以帮助您解决问题。如果有帮助,请不要忘记accept it。如果没有,请随时告诉我们,我们愿意为您提供进一步帮助。
标签: c# visual-studio nuget .net-core-3.1 .net-5