c# - 项目“..\..\Common\Common.csproj”以“net5.0”为目标。以 '.NETStandard,Version=v2.0' 为目标的项目不能引用它
问题描述
我正在使用 Xamarin.Forms 创建一个应用程序,并且在我的解决方案中,当我运行构建时,我有三个与目标框架类型冲突的项目。
如上图所示,CommonTest 是我的测试项目,Common 是我用作存储所用类的库,而 SimTools 是我正在努力创建应用程序的工具。
目前,当我尝试在 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?
解决方案
根据关于 .NET Standard 的 Microsoft 文档,.NET 5 实现了 .NET Standard 2.1。
但是,如果我没记错的话,这意味着 .NET 5 项目可以引用 .NET Standard 2.1(或更低版本)应用程序,而不是相反。
是否有某些原因您不能让您的公共项目使用 .NET 5?
推荐阅读
- postgresql - 错误消息:控制到达程序结束而没有返回
- c++ - 当 pthread 链接到共享库而不是主可执行文件时,C++ 线程报告为禁用
- firebase - Firestore:如何使用 Dart 将一个集合的多个子集合写入 Firestore
- c++ - 是否可以从多个函数中收集参数?
- google-sheets - 谷歌表格:零不是零
- arduino - 附加中断频率arduino
- buddypress - Buddypress - 限制活动流上的博客摘录
- android - Android获取包含至少一个媒体文件(如照片/视频)的所有文件夹
- flutter - 我在 flutter 中遇到 findAncestorStateOfType 错误。我该怎么办?我被困在这里
- kotlin - 在 kotlin react 中编写自定义钩子