文章目录
- powershell7.5+及更高版本和.net 9
- 解决方案
powershell7.5+及更高版本和.net 9
相对较新的.Net 9+版本在老一些的windows10系统上(比如内核版本号:10.0.19044.1288以及之前的),由于默认启用了CET,导致编译运行失败,需要自己在项目中添加关闭CET的配置语句才能够顺利编译;不过这类问题通过搜索引擎一般都能够找到解决方法;
- [dotnet run error Assert failure(PID 28188 0x00006e1c], Thread: 26664 [0x6828]) in .net 9 · Issue #110000 · dotnet/runtime
- .NET 9 断言失败 ·问题 #108589 ·dotnet/运行时
事实上,基于.net 构建的程序(比如powershell(pwsh))受.net sdk版本的影响,如果.net sdk存在兼容性问题,那么基于该.net版本构建的powershell很可能也会出现相同的问题
例如上述问题在
[Win 10 IoT 企业版 LTSC@21H2:10.0.19044.1288]
上,powershell7.5就可能无法顺利运行,更新系统补丁可以解决此问题Win 10 IoT 企业版 LTSC@21H2:10.0.19044.2965]
解决方案
- 将系统升级到超过19044.2965的版本(对于windows10 ltsc2021是可以更新到此版本以及更新的版本)
- 仅使用powershell7.4.7或者更老的版本