CPF C#跨平台桌面UI框架,支持Windows,Mac,Linux,支持龙芯、飞腾等CPU
系列教程
CPF 入门教程 - 各平台各系统发布说明(九)
一般建议根据发布平台的注释掉其他平台的适配器,以及删除其他平台的引用,用来减少发布的dll数量。比如如果发布Windows上的,可以把Mac和Linux的注释掉
一般的,项目右键,选择发布
选择文件夹
设置好发布路径,完成。
选择netcoreapp3.0,如果你用的NET5的话,就选NET5,NET4是用来支持XP的,你可以根据需要改。net4版本用的是GDI+渲染,性能会稍微差一点。
选择独立发布,独立发布可以不需要安装运行时就可以运行,就是程序包大了一些。独立发布只能是Netcore的,不支持net4。 win7上运行netcore可能需要打补丁。
根据需要选择你的目标运行时
裁剪程序集,一般选上,可以减少发布的程序包大小。至于单文件,你根据自己的需求选择。
设置好了之后,按发布按钮,第一次发布的时候可能会发布失败,你可以再点发布按钮,再发布一下。
打开你设置的发布目录,里面就是发布后可以运行的程序,直接复制到对应平台就能运行,默认情况下Linux和Mac的可执行文件是没有后缀的。
如果选择NET5的话,Linux上提供的可执行文件无法直接双击启动,需要通过控制台启动,拖到控制台,按Enter启动
各个平台打包方式,如果只是自己用的,不打包也可以运行
Windows
可以找第三方程序打包工具,比如 SetupFactory、Advanced Installer 等等
Mac
默认案例源码里带打包文件夹。App.app文件夹,把文件夹解压出来,把Netcore独立发布出来的所有dll和那些资源都移到App.app/ Contents/ MacOS/
Info.plist 用记事本打开 <key>CFBundleExecutable</key>这个键下面的值改成你的应用程序的名称,没有exe和dll后缀的。
CFBundleName是上面菜单名称
CFBundleIdentifier是程序唯一标识,该标识符采用了类似Java包的命名方式,例如com.apple.myapp。该束标识符可以在运行时定位束。预置系统使用这个字符串来唯一地标识每个应用程序。
当然把这个App.app文件夹复制到Mac下就能运行了。不过一般要打包为一个文件。
把App.app整个目录压缩打包为tar、tgz、iso 其中一种格式,如果是其他压缩格式可能会导致没有权限运行
Linux
打包可以用 checkinstall 或者 dpkg 具体使用方法,你们自己百度吧
龙芯
由于指令集的问题,龙芯平台的程序发布,不能使用独立发布,必须改成依赖框架和可移植选项,而且必须根据当前龙芯提供的运行时版本选择netcore框架版本
到 https://github.com/gsvm/loongson-dotnet/releases 下载对应的运行时,解压,然后配置环境变量
export PATH="$PATH://自己改为运行时目录/"
然后就可以用 dotnet XXX.dll 命令启动你的程序
打包的时候,你可以把运行时也打包到一起,启动的时候通过快捷方式的启动路径 Exec=/usr/local/bin/安装路径/dotnet/dotnet /usr/local/bin/安装路径/你的程序.dll
标签:入门教程,平台,CPF,dll,发布,运行,打包 来源: https://www.cnblogs.com/dskin/p/15273064.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。