记录同一个工程多目标编译,并且发布到nuget


1.新建DotNet Standard2.0 类库工程

2.修改.csproj工程文件

  • 右键项目,编辑工程文件
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <TargetFrameworks>net47;netcoreapp3.0</TargetFrameworks>
    <UseWPF>true</UseWPF>  
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>

</Project>

如果入口工程提示编译报错,也按上面的改

3.VS右键发布nuget包

可以直接通过vs右键发布nuget包,但是只能支持一种目标。要么是framewok,要么是core。

4.使用命令行发布多目标nuget包

  • 打开nuget命令控制台
  • 输入命令
dotnet pack -o ../LocalNuget/Packages

更多参数见官网:

https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-pack

5.完事

这是我今天自己总结出来的,感觉很有用记录一下。