使用命令行选项在 linux 上构建 .netstandard 库

Building .netstandard library on linux using command line options

如何使用命令行选项在 linux 上构建针对 netstandard 的项目。 MSBUILD/csc 能否用于在 linux.

上构建文件

我google了一下,发现.NET Core sdk提供了"dotnet"编译代码的工具。

但是要编译必须针对 "netstandard" 的代码,必须使用 sdk 附带的命令行工具。

目标框架的信息可以简单地在.csproj文件中指明。

然后你执行dotnet publishdotnet build生成二进制文件。

例如,这里有一个 MyProject.csproj 项目示例,它有多个 .NET 标准的目标框架:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;netstandard1.6;netstandard1.4</TargetFrameworks>
    <RootNamespace>MyName.MyProject</RootNamespace>
    <AssemblyName>MyName.MyProject</AssemblyName>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>

    <Configurations>Debug;Release</Configurations>
    <LangVersion>7.3</LangVersion>
  </PropertyGroup>
  ....
</Project>

如果我想要 .NET 标准 2.0 输出,我可以执行:

dotnet publish MyProject.csproj --framework netstandard2.0(可能还有其他不相关的选项)

注意:通常情况下,您只需要一个目标框架。