本文主要介绍.NET 5(C#) 中,将控制台程序(Console Application)发布成单个exe文件,而不需要额外的dll的方法。

.NET 5发布成单个exe文件,需要使用参数:

p:IncludeNativeLibrariesForSelfExtract=true

使用命令:

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

或者.csproj文件中<PropertyGroup>实现:

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

推荐文档