[英]Referencing .NET6 application from .net framework 4.8 app
我正在尝试在我的项目之间进行引用,其中两个在 .net 6 中,第三个是我的旧项目,在 .net 框架 4.8 中。 升级它现在不是一个选项。 我处于六边形架构实现的上下文中。 所以:
ProjectLibrary1(核心):.net6 ProjectLibrary2(基础结构):.net6,参考 ProjectLibrary1 框架:.net 4.8,参考 ProjectLibrary 1 和 2
这是我的 csproj:
ProjectLibrary 1 & 2(评论后更新):
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
问题:
我对 C# 的版本有错误。它似乎编译为 .net 6(例如使用全局),但我有错误。
错误“项目定位 6.0 无法被项目定位 4.8 引用”
我非常感谢一些帮助,我尝试了很多解决方案,但没有奏效。
编辑:
总结我所做的答案:
这种架构背后的想法是逐步将代码迁移到新的现代和干净的应用程序中。 我们拥有庞大的代码库、巨大的技术债务,而且没有预算来重新设计所有应用程序。 所以我的想法是使用现代应用程序并迁移实际代码库,最终得到一个由“现代”核心和“旧”框架组成的干净架构。 在我的情况下你有什么建议?
在我的应用程序中,我已经在 do.net 4.8 和 do.net core 3 项目之间共享了项目。 为什么可以使用核心 3 而不是 6? 根据此页面,它们都与 do.net 标准 2.0 兼容( https://learn.microsoft.com/fr-fr/do.net/standard.net-standard?tabs.net-standard-2-0 ).
据我所知,这是不可能的,您只能从 4.8 框架项目中引用 do.net 框架或 do.netstandard 项目。
您不能同时拥有TargetFramework
TargetFrameworks
。 您应该拥有同时具有.NET6
和.NET2.0
的TargetFrameworks
,或者具有具有.NET2.0
的单个TargetFramework
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.