大数跨境
0
0

Packaging.DebUOS 专门为 dotnet 应用制作 UOS 安装包

Packaging.DebUOS 专门为 dotnet 应用制作 UOS 安装包 dotNET跨平台
2024-02-01
145

Packaging.DebUOS:为dotnet应用制作符合UOS规范的安装包工具

设计思想与核心优势

Packaging.DebUOS是一款开源工具,旨在帮助开发者将dotnet应用程序打包为符合UOS统信系统要求的deb安装包。该工具通过csproj项目文件进行配置,避免了直接处理复杂的deb包细节,从而降低了学习门槛。其内置大量默认属性,可开箱即用,并且无缝集成于dotnet构建命令中,便于接入现有的CI/CD服务。

使用方法

第一步:安装NuGet库

在csproj项目文件中添加以下引用以安装Packaging.DebUOS:

  <ItemGroup>
<PackageReference Include="Packaging.DebUOS" Version="3.11.0"/>
</ItemGroup>

第二步:配置AppId属性

设置符合UOS命名规范的应用唯一标识,例如com.example.demo:

  <PropertyGroup>
<AppId>com.example.demo</AppId>
</PropertyGroup>

第三步:执行打包命令

运行如下命令进行发布并生成deb安装包:

dotnet publish -c release -r linux-x64 --self-contained true -t:CreateDebUOS

打包完成后,输出的deb文件位于发布目录中,可以直接拷贝至UOS系统上测试安装。

更多配置选项

  • UOSDebVersion : 安装包版本号,默认使用Version属性

  • AppName / AppNameZhCN : 应用英文或中文名称,默认取AssemblyName

  • DesktopComment / DesktopCommentZhCN : 桌面描述信息的中英文配置

  • DebControlDescription : DEBIAN/control文件中的描述信息

  • Png32x32IconFile / SvgIconFile : 不同格式和尺寸的应用图标设置

示例配置如下:

  <PropertyGroup>
<AppId>com.dotnetcampus.unofiledownloader</AppId>
<UOSDebVersion>1.0.1</UOSDebVersion>
<AppName>UnoFileDownloader</AppName>
<AppNameZhCN>下载器</AppNameZhCN>
<Png32x32IconFile>Download32x32Icon.png</Png32x32IconFile>
<DesktopComment>The file downloader.</DesktopComment>
<DesktopCommentZhCN>文件下载器,代码完全开源</DesktopCommentZhCN>
<DebControlDescription>The UNO file downloader.</DebControlDescription>
<DebControlHomepage>https://github.com/dotnet-campus/dotnetCampus.FileDownloader</DebControlHomepage>
<DebControlMaintainer>dotnet-campus</DebControlMaintainer>
</PropertyGroup>

如需自动触发打包流程,可在csproj文件中启用AutoCreateDebUOSAfterPublish属性:

  <PropertyGroup>
<AutoCreateDebUOSAfterPublish>true</AutoCreateDebUOSAfterPublish>
</PropertyGroup>

高级命令行用法

对于需要更高定制化需求的开发者,可以使用Packaging.DebUOS.Tool工具,直接对准备好的UOS安装包文件夹进行打包:

dotnet tool update -g Packaging.DebUOS.Tool
dotnet dpkg-debuos -b C:\lindexi\DebPacking -o C:\lindexi\UOS\Foo.deb

上述命令中,-b参数指定已组织好的文件夹路径,-o用于设定输出路径。

开源与文档

Packaging.DebUOS采用MIT协议,在GitHub上完全开源,地址:dotnetcampus.DotNETBuildSDK。如有疑问或反馈建议,请前往项目页面提交Issues。

参考资料

【声明】内容源于网络
0
0
dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
内容 906
粉丝 0
dotNET跨平台 专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
总阅读14.8k
粉丝0
内容906