首页 > 解决方案 > 项目“..\..\Common\Common.csproj”以“net5.0”为目标。以 '.NETStandard,Version=v2.0' 为目标的项目不能引用它

问题描述

我正在使用 Xamarin.Forms 创建一个应用程序,并且在我的解决方案中,当我运行构建时,我有三个与目标框架类型冲突的项目。

解决方案资源管理器

如上图所示,CommonTest 是我的测试项目,Common 是我用作存储所用类的库,而 SimTools 是我正在努力创建应用程序的工具。

Visual Studio 错误列表

点击放大

目前,当我尝试在 SimTools 中添加对 Common 项目的引用以使用这些类时,出现错误:"Project '..\..\Common\Common.csproj' targets 'net5.0'. It cannot be referenced by a project that targets '.NETStandard,Version=v2.0'."

SimTools 项目目标框架是 .NET Standard 2.0,Common 和 CommonTest 项目的目标框架是 .NET 5.0。

我尝试了多种组合更改通用项目的目标框架(更改为 .NET Core 版本)和 SimTools 项目(.NET 标准版本)。

此外,我参考了微软关于哪些框架相互支持的文档,当我尝试构建时,这些组合仍然显示错误。

https://docs.microsoft.com/en-us/dotnet/standard/net-standard

我需要为 SimTools 和 Common 设置的最低目标框架版本是多少,以允许 SimTools 引用 Common?

标签: c#.netxamlxamarinxamarin.forms

解决方案


根据关于 .NET Standard 的 Microsoft 文档,.NET 5 实现了 .NET Standard 2.1。

但是,如果我没记错的话,这意味着 .NET 5 项目可以引用 .NET Standard 2.1(或更低版本)应用程序,而不是相反。

是否有某些原因您不能让您的公共项目使用 .NET 5?


推荐阅读