我有一个在 VS2022 上开发的程序,基于.net 6
框架, 想打包成 .exe
程序,以在另一个没有安装VS的机器上运行,另一个机器是Win7系统,上面安装了.net 6
框架。
虽然网上很多教程,需要安装Project Installer
,配置Application-Desktop等的,但是都没有解决我的问题。反倒是东一榔头西一棒槌,看的云山雾绕稀里糊涂。
最终,我通过VS 2022自带的发布功能解决了这一个问题。
-
右击要导出的项目名,点击发布。
-
选择发布到文件夹,点击下一步直到完成,然后关闭。
-
在发布的右侧面板,点击最下方的显示所有设置
-
在连接选项中,自定义exe导出的目标位置
-
在设置中,配置选项
其中,配置选Release, 部署模式选独立,目标运行时选x64。
其中的文件发布选项,除了启用ReadToRun不太理解没选其他都选了[见最后],可以参考一下:
-
设置完成后,保存,可以看到设置的概览。
-
设置完成。点击发布:
-
然后,等待直到发布完成。成功完成时,会有如下输出(最后):
可以打开指出的文件夹看一下,还是挺全的。
-
最后,在另一台机器上点击
Main.exe
运行就可以了。
备注:
ReadToRun,参考官文,当发布面向特定运行时环境 (如 Linux x64 或 Windows x64)的应用时可用。预先编译会使程序的大小增长到两到三倍,但相对地,在运行时编译的方法数通常会大幅减少。 因此,启用 ReadyToRun,包含大量代码的大多数应用程序都会获得很大的性能增益,具有少量代码的应用程序很可能不会获得显著改进。