.NET Core 3.1 和 .NET 5 控制台程序发布成独立.exe可以执行程序的方法

2021-08-20

1、.NET Core 3.1 中dotnet  publish发布命令

下面命令将控制台程序发布成独立的.exe程序,并且不依赖其它.dll文件。

dotnet publish -c Release -o publish -p:PublishReadyToRun=true -p:PublishSingleFile=true -p:PublishTrimmed=true --self-contained true


在windows平台上,发布成针对linux的可能会报错,要将PublishReadyToRun改为false。

dotnet publish -c Release -r linux-x64 -o ./publish/linux -p:PublishReadyToRun=false -p:PublishSingleFile=true -p:PublishTrimmed=true --self-contained true


2、.NET 5 中dotnet  publish发布命令

.NET 5 中需要使用Inclenativelibrariesforselfextract =true 参数。

命令:

dotnet publish -c Release -o publish -p:PublishReadyToRun=true -p:PublishSingleFile=true -p:PublishTrimmed=true --self-contained true -p:IncludeNativeLibrariesForSelfExtract=true

或者也可以在.csproj文件中添加IncludeNativeLibrariesForSelfExtract配置项,例如,

<PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <PublishSingleFile>true</PublishSingleFile>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <PlatformTarget>x64</PlatformTarget>
   <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract></PropertyGroup>


联系信息

QQ:1827566828
Email: 1827566828@qq.com
Web: https://www.yynet.wang

留言