我最近从 Visual Studio 2017 切换到 2019。但是,我无法加载任何项目。当我加载解决方案时,该解决方案中的每个项目在解决方案资源管理器中显示为“已卸载”。右键单击并选择“重新加载”会产生以下错误之一:
C:\<path>\<file>.csproj : error : The tools version "15.0" is unrecognized. Available tools versions are "2.0", "3.5", "4.0". C:\<path>\<file>.csproj
对于指定工具版本的项目,或
C:\<path>\<file>.csproj : error : The project file cannot be opened by the project system, because it is missing some critical imports or the referenced SDK cannot be found.
对于指定 SDK 的项目。
一些相关问题建议修改 global.json 文件、卸载/重新安装 MSBuild、将 PATH 设置为指向 Program Files/dotnet 文件夹或安装最新的 SDK。我安装了最新版本的 .NET 核心 SDK 以及许多其他 SDK,并且我的 PATH 环境变量指向 Program Files/dotnet。我没有安装邪恶的 MSBuild 15,添加 global.json 文件并没有解决任何项目。
这些都是在 VS 2019 和 VS 2017 的其他副本中加载的所有项目。我不知道该怎么做。感谢所有帮助。
如果其他人发生这种情况,请自行回答。
手头的问题是我的系统上有一些旧的(和错误的)版本的 MSBuild。由于 gacutil -l 仅在设置了某些环境变量时才会列出这些程序集,这使情况变得复杂。在我的全局程序集缓存中四处挖掘,我能够在
Windows\Microsoft.NET\assembly\GAC_MSIL
以Microsoft.Build
.15
任何包含我删除的模糊版本号的子文件夹或文件。重新启动VS 2019,问题就消失了。