繁体   English   中英

Visual Studio 2019 - .NET 标准项目兼容性警告

[英]Visual Studio 2019 - .NET Standard Project compatibility warning

我继承了一个 .NET 应用程序。 此应用程序具有包含许多项目的 Visual Studio 2019 解决方案。 当我打开解决方案时,我可以看到多个警告:

ProjectReference {path} 是使用“.NETFramework,Version=v4.6.1”而不是项目目标框架“.NETStandard,Version=v2.0”解决的。 此项目可能与您的项目不完全兼容。

在 Visual Studio 2019 中,我可以看到项目属性中列出的 Target 框架是“.NET Standard 2.0”。 这意味着我的机器上安装了框架。 当我在记事本中打开一个引发此警告的 .csproj 文件时,我看到TargetFramework元素设置为netstandard2.0 在这一点上,一切看起来都是正确的。 但是,我不明白为什么我会收到上述错误或如何解决它。

如何摆脱上面显示的警告?

这意味着您的 .NET 标准 2.0 项目具有对其他以 .NET 框架 4.6.1 为目标的项目的引用依赖项。

在 v2.0 之前的所有 .NET 标准项目都不能可靠地依赖于使用非 .NET 标准项目的其他项目,例如 .NET 框架和 Z303CB0EF9EDB9082D61BBBE 项目。 目标依赖的层次结构不正确,因为 .NET 标准项目比 .NET 框架和 .NET 核心具有更高的抽象(更通用)。 非 .NET 标准项目可以具有对 .NET 框架和 .NET 核心项目的引用依赖项。

基于上述事实(请参阅下面的文档)您可以强制 .NET 标准项目依赖于 .NET Framework/NET Core 项目,但不能保证它会兼容,因此不能保证它可以工作特别是在运行时。

.NET Standard 2.1 仅与 .NET Core 3.0 及更高版本兼容。

另请参阅 .NET 标准的官方文档: https://docs.microsoft.com/en-us/dotnet/standard/net-standard

参见.NET Standard 2.1公告的官方博文: https://devblogs.microsoft.com/dotnet/announcing-net-standard-2-1/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM