问题:如何在 .Net Core 3.1 中引用 .Net Standard 2.1 项目

4

我的主要项目是在.NET Standard 2.1中进行的, 我的测试项目是在.NET Core 3.1中进行的。

每当我尝试构建解决方案时,都会出现以下错误:

NU1201:项目 xxx 与 netcoreapp3.1 (.NETCoreApp,Version=v3.1) 不兼容。项目 yyy 支持:netstandard2.1 (.NETStandard,Version=v2.1)

有谁能帮我解决这个问题吗?


1
我遇到了与“dotnet build”相同的问题。错误NU1202:包Microsoft.IdentityModel.Protocols.OpenIdConnect 5.5.0与netcoreapp3.1(.NETCoreApp,Version=v3.1)不兼容。 包Microsoft.IdentityModel.Protocols.OpenIdConnect 5.5.0不支持任何目标框架。 - Willy Van den Driessche
1
我在构建环境中解决了这个问题。之前,构建服务器上安装的NuGet包是4.x版本。我已经升级到NuGet 5.5版本。这解决了我的问题。谢谢。 - Chandu
1个回答

3
我们也遇到了这个错误。造成这个错误的原因是我们使用了自己的NuGet服务器(这是ProGet 4.x)。每次我们需要一个NuGet包时,我们都从nuget.org下载它并将其添加到我们自己的NuGet服务器。但是,Microsoft.IdentityModel.Protocols.OpenIdConnect 5.5.0 NuGet包是一个已签名的NuGet包。我们的NuGet服务器不支持此功能,因此在添加NuGet包时会出错。然而,NuGet确实被添加了 - 只是它不再被签名,并且不包含dll文件(这真的很奇怪)。我知道这听起来很离奇,但这就是发生的事情。我们通过在构建时将官方的NuGet源添加到我们自己的私有源旁边(作为第一选择)来暂时解决了这个问题。这解决了我们的问题。我只是在发布此帖子,以防万一您遇到了相同的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接