.Net-构造多平台编译工程

在我们使用.Net进行开发的时候,往往会遇到.Net Framework、.Net Core 和 .Net Standard 各种平台不通的问题,首先我们要大概了解一下这三者间的关系,这里只放一张图,不展开叙述了。
IMG-INFO-DotNet

环境设置

首先,需要的是 Visual Studio 2017 以上 的版本,然后,我当前项目多平台编译设置是 .Net Framework 4.6.Net Standard 2.0

操作方法

其实说起来也很简单,在VS2017以后,VS自身已经支持进行多目标平台的编译了,但是这个功能需要手动修改工程设置文件,将 TargetFramework 修改为复数形式的 TargetFrameworks 就可以了,使用npp等其他软件打开 .csproj 可以看到:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  
</Project>

将其修改为

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;net46</TargetFrameworks>
  </PropertyGroup>
  
</Project>

当然,其实更科学的方法是制作成Nuget包进行引入和操作,但是这个需要准备的比较复杂,这个后面再说。

参考

中文翻译:https://www.cnblogs.com/haogj/p/9220653.html
原文:https://www.ben-morris.com/sharing-libraries-between-net-core-and-net-framework-applications/

.NetVersion-MSDN
Multitargeting in .NET-Stackflow

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页