使用命令行选项在 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 publish
或dotnet 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
(可能还有其他不相关的选项)
注意:通常情况下,您只需要一个目标框架。
如何使用命令行选项在 linux 上构建针对 netstandard 的项目。 MSBUILD/csc 能否用于在 linux.
上构建文件我google了一下,发现.NET Core sdk提供了"dotnet"编译代码的工具。
但是要编译必须针对 "netstandard" 的代码,必须使用 sdk 附带的命令行工具。
目标框架的信息可以简单地在.csproj
文件中指明。
然后你执行dotnet publish
或dotnet 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
(可能还有其他不相关的选项)
注意:通常情况下,您只需要一个目标框架。