相关依赖安装
- 全局安装打包工具
dotnet tool install --global dotnet-deb
- 向工程中安装相关打包依赖
将CMD命令行或PowerShell定位到工程所在目录
dotnet deb install
打包前操作
- 图标相关配置
将程序Asset下的Logo图标,替换为自己的图标,然后修改工程文件(.csproj),添加如下代码:
<ItemGroup>
<Content Include="Assets\logo.png" CopyToPublishDirectory="PreserveNewest">
<LinuxPath>/usr/share/icons/logo.png</LinuxPath>
</Content>
</ItemGroup>
这里面各个字段含义:
Include
:图标文件的相对路径
CopyToPublishDirectory
:图标文件复制方式:如果较新则复制
LinuxPath
:安装包在Linux安装后,图标文件的路径
- 桌面快捷方式配置
将程序目录下添加工程名称.desktop
文件,然后修改工程文件(.csproj),添加如下代码:
<ItemGroup>
<Content Include="AvaloniaTest.desktop" CopyToPublishDirectory="PreserveNewest">
<LinuxPath>/usr/share/applications/AvaloniaTest.desktop</LinuxPath>
</Content>
</ItemGroup>
.desktop文件内容如下:
[Desktop Entry]
Name=Test Software
Name[zh_CN]=测试软件
Type=Application
Terminal=false
Categories=Applicaltion;
Exec=/usr/share/AvaloniaTest/AvaloniaTest %U
Icon=/usr/share/icons/logo.png
comment[zh_CN]=中科时代RTE控制软件
其中,需要注意Exec
的路径只可改动工程名字,因为deb默认安装位置就是/usr/share/
;
且Icon
为图标文件所在位置,一定要与上述图标相关配置中的Linux路径一致,否则不会显示图标
关于.dektop文件的相关说明,请参考Desktop文件说明
进行打包
- 还原工程
dotnet restore -r linux-x64
- 进行打包
dotnet msbuild AvaloniaDemo.csproj /t:CreateDeb /p:RuntimeIdentifier=linux-x64 /p:Configuration=Release
运行完成后,则可以在输出目录中,生成相应的deb包
关于快捷方式的说明
关于快捷方式,有几点需要注意,不然容易出问题
- 快捷方式在Linux下的路径必须为
/usr/share/applications/
目录下,否则,开始菜单不会显示安装的软件
- 快捷方式文件(.desktop)文件编码最好为Utf-8,结尾使用
LF
,不要使用CRLF
,否则快捷方式会看不到,且无法运行软件