更换处理器并更新BIOS后.NET 9项目无法启动的问题求助
大家好,我最近碰到了一个非常棘手的问题,折腾好几天都没解决,想请教下有没有朋友遇到过类似情况,或者能给点排查方向。
问题背景
我把原来的R5 2600处理器换成了5600,为此更新了主板BIOS。之后就出现了一个奇怪的现象:所有.NET 9的项目(不管是新建的还是旧的)都无法正常启动,但.NET 8的项目完全没问题。我已经在其他机器上测试过这些项目,都能正常运行,所以问题应该出在我这台机器的硬件/BIOS相关设置上。
具体现象
WPF .NET 9项目
启动时输出窗口会显示:
The target process exited without raising a CoreCLR started event. Ensure that the target process is configured to use .NET Core. This may be expected if the target process did not run on .NET Core.
The program '[4592] WpfApp1.exe' has exited with code 3221227010 (0xc0000602) 'The process aborted due to a fail fast exception.'
不过我在WPF项目的.csproj文件里添加一行配置后,项目就能正常启动了:
<CETCompat>false</CETCompat>
ASP.NET Core 9项目
启动时的输出和WPF类似,但添加上面的配置完全没用。除此之外,控制台还会弹出CLR断言失败的错误:
CLR: Assert failure(PID 5396 [0x00001514], Thread: 4584 [0x11e8]): !AreShadowStacksEnabled() || UseSpecialUserModeApc()
File: D:\a_work\1\s\src\coreclr\vm\threads.cpp:7938
Image: C:\Users\Username\source\repos\WebApplication1\WebApplication1\bin\Debug\net9.0\WebApplication1.exe
我已经尝试过的解决方法
- 重装了所有和.NET相关的组件(SDK、Runtime等),甚至把Visual Studio也彻底卸载重装了
- 直接重装了操作系统,但问题依然存在
- 尝试降级BIOS版本,也恢复过BIOS的默认设置,没有效果
- 新建空白的.NET 9项目测试,结果一样失败
- 在其他机器上运行相同的项目,完全正常,排除了项目本身的问题
现在我实在没辙了,感觉这个问题肯定和新换的处理器或者BIOS设置有关,但不知道具体是哪里出了问题。有没有朋友遇到过类似的情况,或者能给点下一步的排查建议?
内容来源于stack exchange

