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

在完成(显然是成功的)从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,但没有其他人,所以我不知道我的环境可能导致这个问题。 我已经尝试清除缓存和用户数据,修复,完全卸载/重新安装,以及删除第三方组件。 我没有想法。

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

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

gacutil /u "Microsoft.Build.Framework, Version=15.1" 

请不要其他版本重新安装到GAC。 MSBuild不应该在GAC中,并且在下次安装它时会在Visual Studio更新MSBuild时导致问题,因为GAC中的文件优先于Visual Studio提供的更新版本。

  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版本。

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

在已经安装了Visual Studio 2017的计算机上安装Visual Studio 2015之后,我遇到了一个非常类似的问题。

将Microsoft.Build.Framework重新安装到GAC中解决了我的问题。