C# VS2019-使用C时MSBuild SdkResolver无法运行# 我试图从C++开始(我一直在使用VS,没有问题),每当我试图打开一个C项目时,我就得到这个错误: The project file cannot be opened. The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed to run. Illegal characters in path.
.csprj只有7行C# VS2019-使用C时MSBuild SdkResolver无法运行# 我试图从C++开始(我一直在使用VS,没有问题),每当我试图打开一个C项目时,我就得到这个错误: The project file cannot be opened. The SDK resolver "Microsoft.DotNet.MSBuildSdkResolver" failed to run. Illegal characters in path.,c#,visual-studio,msbuild,visual-studio-2019,C#,Visual Studio,Msbuild,Visual Studio 2019,.csprj只有7行 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> </PropertyGroup> </Project> netstandard2.0 我尝试将“替换为”,但得到了相同的错误 使用/ResetSkipP
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
</Project>
netstandard2.0
我尝试将“
替换为”
,但得到了相同的错误
使用/ResetSkipPkgs
运行VS2019可以防止发生此问题,并且项目可以正常加载。但是,我找不到问题的来源
还有谁知道是什么原因造成的吗?我希望能够在C#项目上工作,而不必每次都通过命令行运行VS
还有谁知道这是什么原因吗?我希望能
在C#项目上工作,而不必每次都通过命令行运行VS
不确定您以前对VS做了什么。可能是由于某些第三方集成工具、VS扩展或某些VS设置造成的
建议
请尝试以下步骤:
1)确保您的VS2019已安装这两个工作负载
2)检查系统环境变量PATH并确保其值C:\Program Files\dotnet\
且没有其他空格键
另外,检查是否有环境变量MSBuildSDKsPath,如果有,则应检查其值是否存在,并输入路径进行检查。如果不存在,则应修改以使用已存在的地址
如果MSBuildSDKsPath不存在,则应添加它并将其值设置为
C:\Program Files\dotnet\sdk\3.1.xxx\Sdks
确保路径存在于您的电脑下
非常重要:不要在变量值中使用引号,并以“.”结尾,因此请检查每个环境,确保没有乱码
3)打开VS IDE,单击菜单扩展-->管理扩展,进入已安装的扩展,然后禁用任何第三方扩展,以检查问题是否由它们引起
4)使用工具重置所有VS设置-->导入和导出设置-->重置所有设置或只运行devenv/Resetsettings
5)或更新至最新版本(如果有任何更新)
6)删除解决方案文件夹下的.vs
隐藏文件夹、bin
和obj
文件夹,然后再次测试
================================================
除了之外,您还可以直接将开关添加到VS图标中的/ResetSkipPkgs
,这样每次打开VS时,它都会同时运行/ResetSkipPkgs
右键单击VS2019快捷方式图标-->属性-->快捷方式-->
将/ResetSkipPkgs
添加到
单击应用和确定以启用它
注意:当您使用它时,您应该通过单击该图标打开VS,而不是在不支持该功能的VS安装程序下启动它)
如果您在“开始”菜单中启动VS2019,您应该通过我在
C:\ProgramData\Microsoft\Windows\start Menu\Programs
中的功能修改快捷方式。请尝试创建一个新项目,并测试问题是否仍然存在?嗨,James,有关于此问题的任何更新吗?请检查我的答案是否有助于您处理此问题。如果有帮助,请不要使用或设置为。如果没有,请随时通知我们:)奇怪的是…我遇到了这个问题。我最近编辑了路径,但当我使用“Windows终端”中的“dotnet run“应用程序。一切正常。这似乎是一个VS2019的东西它是路径变量!它完全丢失了dotnet路径,并且有一个空白变量,其中也只有空格,这是没有帮助的。添加到您建议的路径中,现在一切似乎都很好,谢谢!