Avalonia应用打包发布需用dotnet publish生成自包含可执行文件,关键配置包括SelfContained=true、指定RuntimeIdentifier(如win-x64)及显式声明资源文件;发布后应在无.NET环境的干净系统中验证。

打包发布 Avalonia 应用,核心是用 dotnet publish 生成独立可执行文件,并确保运行时、资源和依赖项完整。不需要安装 .NET 运行时的“自包含”发布是最常用方式,适合分发给普通用户。
确认项目配置支持自包含发布
在 .csproj 文件中,确保已设置以下关键属性:
- SelfContained 设为 true(默认为 true,但显式声明更稳妥)
- PublishTrimmed 可选设为 true(减小体积,但需测试功能是否正常)
-
RuntimeIdentifier 明确指定目标平台,例如:
win-x64、osx-x64、linux-x64 - Avalonia 相关 NuGet 包(如
Avalonia.Desktop)版本需 ≥ 11.0.0,以保证跨平台发布稳定性
命令行一键发布(推荐)
打开终端,进入项目根目录(含 .csproj 的文件夹),执行:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishTrimmed=true -o ./publish-win
登录后复制
说明:
-
-c Release:使用 Release 配置编译 -
-r win-x64:目标 Windows 64 位;换成osx-x64或linux-x64即可打包对应平台 -
--self-contained true:打包自带 .NET 运行时,用户无需预装 .NET -
-o ./publish-win:输出到当前目录下的 publish-win 文件夹
执行完成后,publish-win 文件夹内会有一个与项目名同名的 .exe 文件(Windows)或可执行二进制(macOS/Linux),双击即可运行。
处理图标、资源与配置文件
Avalonia 默认不自动复制非代码文件(如 App.xaml、图片、JSON 配置)。需在 .csproj 中显式声明:
标签: linux js json windows app 工具 mac ai macos win 配置文件 c# cos .n
还木有评论哦,快来抢沙发吧~