C# 一个解决方案中的.Net核心和完整框架项目
假设我有一个包含几个项目的解决方案。其中一个项目是Main(放置常规代码和api的地方),其余的是一种扩展(Extension1、Extension2、Extension3),用于Main和使用第三方库。现在,我正在使解决方案在完整框架和.Net核心框架上兼容 在我开始添加对.NETCore的支持之前,这个解决方案已经有了依赖于目标框架的条件构建过程,所以我还没有条件构建的问题 我的问题是,部分第三方库与.NETCore还不兼容。这使得部分扩展与.NETCore不兼容。我想到的唯一选择是为完整框架和.Net核心框架提供单独的解决方案和代码库。但我希望在这两种情况下都有相同的代码基础,因为我的代码与这两种框架都非常兼容,否则支持这两种框架会非常麻烦 对于这种情况,是否可能只有一个解决方案,并且能够为完整框架构建(Main+(Extension1,Extension2,Extension3))项目和为.Net核心框架构建(Main+(Extension1,Extension2))项目?如果不是,我有什么选择C# 一个解决方案中的.Net核心和完整框架项目,c#,.net,.net-core,C#,.net,.net Core,假设我有一个包含几个项目的解决方案。其中一个项目是Main(放置常规代码和api的地方),其余的是一种扩展(Extension1、Extension2、Extension3),用于Main和使用第三方库。现在,我正在使解决方案在完整框架和.Net核心框架上兼容 在我开始添加对.NETCore的支持之前,这个解决方案已经有了依赖于目标框架的条件构建过程,所以我还没有条件构建的问题 我的问题是,部分第三方库与.NETCore还不兼容。这使得部分扩展与.NETCore不兼容。我想到的唯一选择是为完整框
提前谢谢大家您想了解的内容-我还想看看关于它的详细信息 tl;dr是指.NET标准列出了.NET应用程序(框架、核心、WPF、Xamarin等)可以访问的API和方法。更高版本的标准包含更多的API,但减少了可以使用的框架数量(框架、核心、WPF、Xamarin等) 下面是不同框架是如何采用和支持.NET标准的 顶部是.NET标准的版本,左侧是框架的版本。使用此图表,您可以看到.NET标准2.0受到以下各项的支持:
- .NET核心2.0
- .NET Framework 4.6.1
- 单声道5.4 等等
- 一个用于.NET标准类库
- 一个用于.NET Framework Main(包括.NET标准类库)
- 一个用于.NET核心Main(包括.NET标准类库)
您还可以将.NET标准类库构建为一个NuGet包(有或没有外部托管),并将它们拉入两个(.NET Framework和.NET Core)主解决方案中。是的,我知道.NET Core和.NET Standard之间存在差异。这不是问题。问题是,我必须为.Net Framework和.Net Core(或.Net标准)构建不同数量的项目的解决方案基本上,我的解决方案的构建从“dotnet msbuild/p:Configuration=Net45 Release solution.sln”或“dotnet msbuild/p:Configuration=Net45 Debug solutionon.sln”开始,每个项目都会自行处理给定的配置并初始化属性和内容。对于.Net Core,它将类似于“dotnet msbuild/p:configuration=NetCore20 Debug Solution.sln”,项目将根据配置定义目标框架。测试项目将设置netcoreapp2.0和库-netstandard2.0那么,猜测单独的解决方案和/或单独的项目是唯一的选项。是的,是的。我的目标是,您可以在解决方案中使用类库,并将相关类库加载到两个单独的解决方案中(一个用于.NET Framework,另一个用于.NET Core)。只要类库以.NET标准为目标,.NET Framework解决方案以.NET 4.6.1为目标,那么它就应该可以工作