爱唱歌的汤姆猫
支持win7系统吗?
主要是.net 8.0框架问题
按照官方的说法,NET6是最后一代官方支持Win7的版本,但是处理一些小问题之后win7可以用.net789
1.需要安装KB3063858补丁,只有1.7MB。如果是Win7新系统,一般没有这个补丁,运行NET789的程序会直接报错崩溃。但安装之后就好了。
2.需要安装VC++运行库,这个装起来也很方便。实测只有NET9的Self-Contained程序需要安装,78是不需要的。估计是官方为了缩减自包含程序的体积,把这个运行库去掉了。
3.需要设置Runtime参数。如果你在Win7运行NET789的程序,会发现启动慢,并且内存占用2G左右,在网上很少有提到这个问题,并且也没有给出解决方案。
这个问题是因为从NET7开始,.NET Runtime的WriteXorExecute安全选项默认保持打开,之前都是默认关闭的。可能是Win7系统不兼容,所以内存暴涨。只要关闭这个选项就好了。在Github的这个Issue有相关讨论。
方法有2个,一是将环境变量设置为DOTNET_EnableWriteXorExecute=0,但这样环境变量不能随程序移动,不是很好的办法。
二是在主项目下新建一个runtimeconfig.template.json文件,这是runtime配置的模板文件,在里面写入以下内容:
{
"configProperties": {
"System.Runtime.EnableWriteXorExecute": false
}
}
解决了这三个问题,可以在Win7完美运行。
其实也都不是很麻烦,前两个只要提前把文件下载,做到安装程序里,或者双击运行一下就好了。
最后一个只要添加一下runtimeconfig文件就好了。