VS2019 - MSBuild SdkResolver 在使用 C# 时无法运行

Jam*_*lly 2 c# msbuild visual-studio visual-studio-2019

我正在尝试开始使用 c#(我一直在使用 VS for C++ 没有问题),每当我尝试打开 C# 项目时,我都会收到此错误:

The project file cannot be opened. The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed to run. Illegal characters in path.
Run Code Online (Sandbox Code Playgroud)

.csprj 只有 7 行!

    <Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我尝试交换"for'但得到了同样的错误。

运行 VS2019 可以/ResetSkipPkgs防止此问题发生并且项目加载正常。但是我找不到问题的根源。

有没有其他人知道可能导致这种情况的原因?我希望能够在 C# 项目上工作,而无需每次都通过命令行运行 VS!

Mr *_*ian 5

有没有其他人知道可能导致这种情况的原因?我希望能够在 C# 项目上工作,而无需每次都通过命令行运行 VS!

不确定您之前对 VS 做了什么。可能这个问题是由一些第三方集成工具、vs 扩展或一些 VS 设置引起的。

建议

请尝试以下步骤:

1)确保你的VS2019已经安装了这两个工作负载

在此处输入图片说明

2)检查系统环境变量PATH并确保它具有 valueC:\Program Files\dotnet\并且没有其他空格键

另外,检查您是否有环境变量MSBuildSDKsPath,如果有,您应该检查其值是否存在并输入路径进行检查。如果没有,您应该修改以使用已经存在的地址。

如果MSBuildSDKsPath不存在,您应该添加它并将其值设置为

C:\Program Files\dotnet\sdk\3.1.xxx\Sdks
Run Code Online (Sandbox Code Playgroud)

确保该路径存在于您的 PC 下。

在此处输入图片说明

非常重要:不要在变量值中使用引号,并以\. 所以请检查每个环境,确保没有乱码。

3)打开VS IDE,点击菜单扩展-->管理扩展,进入已安装的扩展,然后禁用任何第三方扩展以检查问题是否由它们引起。

4)通过工具重置所有VS设置->导入和导出设置->重置所有设置或直接运行devenv /Resetsettings

5) 如果有更新,请修复VS或将其更新到最新版本。

6)删除.vs解决方案文件夹下的隐藏文件夹,binobj文件夹,然后再次测试。

================================================

此外,您可以直接将开关添加/ResetSkipPkgs到 VS 图标中,这样每次打开 VS 时,它都会同时运行/ResetSkipPkgs

右键单击VS2019快捷方式图标-->属性-->快捷方式

在此处输入图片说明

添加/ResetSkipPkgs

在此处输入图片说明

单击应用确定以启用它。

注意:当您使用它时,您应该通过单击该图标来打开 VS,而不是在不支持该功能的VS 安装程序下启动它)。

如果你在开始菜单中启动VS2019,你应该通过我的功能修改快捷方式C:\ProgramData\Microsoft\Windows\Start Menu\Programs

  • 这是 Path 变量!它完全丢失了 dotnet 路径,并且有一个空白变量,其中也只有空格,这没有帮助。添加到您建议的路径中,现在一切似乎都工作正常,谢谢! (2认同)