.NET发布

更新于 2024-03-29

#单文件发布
dotnet publish -p:PublishSingleFile=true

#压缩
dotnet publish -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true

#精简
dotnet publish -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -p:PublishTrimmed=true

#AOT发布
dotnet publish -p:PublishAot=true

#AOT精简
dotnet publish -p:PublishAot=true \
-p:OptimizationPreference=Size \
-p:StackTraceSupport=false \
-p:InvariantGlobalization=true \
-p:UseSystemResourceKeys=true

#参数
--framework net6.0 指定框架
--configuration Release 指定配置
--runtime win-x64
#RID
win-x64
win-x86
win-arm64
linux-x64(大多数桌面发行版,如 CentOS、Debian、Fedora、Ubuntu 及派生版本)
linux-musl-x64(使用 musl 的轻量级发行版,如 Alpine Linux)
linux-musl-arm64(用于构建适用于 64 位 Arm v8 的 Docker 映像和极简基本映像)
linux-arm(在 ARM 上运行的 Linux 发行版本,如 Raspberry Pi Model 2 及更高版本上的 Raspbian)
linux-arm64(在 64 位 ARM 上运行的 Linux 发行版本,如 Raspberry Pi Model 3 及更高版本上的 Ubuntu 服务器 64 位)
linux-bionic-arm64(使用 Android 的 bionic libc 的发行版,例如 Termux)
osx-x64(最低 OS 版本为 macOS 10.12 Sierra)
osx-arm64
ios-arm64

dotnet publish -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true --configuration Release --framework net6.0 --runtime win-x64
dotnet publish -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true --configuration Release --framework net6.0 --runtime linux-x64
dotnet publish -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true --configuration Release --framework net6.0 --runtime osx-arm64

详细说明

https://learn.microsoft.com/zh-cn/dotnet/core/tools/dotnet-publish