无法在VS 2017 U1(15.3)中打开的项目中加载"Microsoft.Build.Framework.SdkReference"类型

Mat*_*gge 10 .net c# visual-studio

在完成(显然是成功的)从VS 2017 15.1升级到15.3后,我再也无法加载任何C#项目(无法打开现有,无法创建新项目).所有失败都有这个错误:

无法从程序集"Microsoft.Build.Framework,Version = 15.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"加载类型"Microsoft.Build.Framework.SdkReference".

我找到了一个引用此问题的人参考RC版本的15.3,但没有其他人,所以我不知道我的环境可能导致这个问题.我已经尝试清除缓存和用户数据,修复,完全卸载/重新安装,以及删除第三方组件.我没有想法.

我在这里提供的信息非常多,所以我不知道从哪里开始.我很感激任何想法,或者至少看看其他人是否遇到了同样的问题.

Spo*_*com 17

  1. 打开VS2017的开发人员命令提示符(我以管理员身份打开它)
  2. gacutil/u Microsoft.Build.Framework

从全局程序集缓存[GAC]卸载Microsoft.Build.Framework

  1. gacutil/i"C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Framework.dll"

重新安装15.1.0版本.

现在解决方案中的项目正确加载.


小智 6

使用管理员“ VS 2017开发人员命令提示符”运行

gacutil /u "Microsoft.Build.Framework, Version=15.1"
Run Code Online (Sandbox Code Playgroud)

请不要其他版本重新安装到GAC。MSBuild不应位于GAC中,并且在下次Visual Studio更新MSBuild时将其安装在GAC中会引起问题,因为与Visual Studio一起提供的更新版本相比,GAC中的文件更受欢迎。