前天手贱,把电脑的VS2019进行了升级。然后把老的VS2015,2017都卸载了。然后出现了意想不到的结果。。。提示无法加载项目XXXX, 具体的错误,因为已经修复了,也不想在去复现了。
反正就是依赖项看起来有个警告,就算新建的项目也一样,也无法编译。折腾了2天,卸载重装,各种折腾。差点都放弃准备重装系统了。
后来查看系统日志,发现MSbuild也不行了。直接运行MSBuild出现以下错误
$: msbuild.exe /version
Unhandled msbuildException: System.TypeInitializationException: The type initializer for 'Microsoft.Build.CommandLine.MSBuildApp' threw an exception. ---> System.FieldAccessException: Attempt by method 'Microsoft.Build.CommandLine.MSBuildApp..cctor()' to access field 'Microsoft.Build.Shared.MSBuildConstants.EqualsChar' failed.
at Microsoft.Build.CommandLine.MSBuildApp..cctor()
--- End of inner exception stack trace ---
at Microsoft.Build.CommandLine.MSBuildApp.Main()
好吧,打算修复好先解决这个问题,手动进行编译试试。
网上各种搜索,发现Github上有很多类似的issues,不过很多也没得到解决,依然open着。
OK,说下解决方案吧。
万念俱灰的时候,用了笔记本。copy了MSBuild目录。然后惊奇的发现,copy的可以运行。果断备份后替换原有的目录 \Microsoft Visual Studio\2019\Professional\MSBuild.
运行VS,Okay, 编译通过。
PS:笔记本的VS2019是没升级, 版本是16.3, 升级后是16.5.