"Predefined type 'System.*' is not defined or imported" 错误,visual studio 代码,omnisharp

"Predefined type 'System.*' is not defined or imported" Error, visual studio code, omnisharp

我在几个 .net 核心应用程序中遇到上述错误的问题。我正在使用 vs code 版本 1.18.0,但错误已经开始出现在以前的版本中。

每个 .cs 文件中的每个数据类型(如字符串、整数、void 等)以及 class 导入都会出现此错误。

所有项目仍然编译并且 运行 正确。同样在另一个工作站上,我 没有 在相同的项目中遇到问题,所以它似乎是本地 omnisharp/ vs 代码或 windows?问题。

有没有人遇到过类似的问题并设法修复它或对我可以尝试的方法有任何建议?

我已经重新安装了 vs code 和 omnisharp,但我仍然遇到问题。

示例错误: 预定义类型'System.Object'未定义或导入[GG]

我找到了解决问题的方法(或解决方法):

短版:我通过卸载Visual Studio 2017 Pro[=更改了omnisharp msbuild实例29=].

长版: 几个月前我安装了VS 2017 Pro来查看功能,试用了2周模式并忘记了几个月。

大约一周前我打开它(不小心 :D)并收到通知,说我的试用期已过,VS 也锁定了自己。 它没有打扰我,因为我没有使用它。在@VahidN 的 Link 中,我发现 omnisharp 正在使用已安装的“最原生”的 msbuild 实例,在我的例子中,它是锁定的 VS 2017 Pro 之一。 1+1 我卸载了 VS,我很好。

我会重新安装 VS 2017 (Comunity) 并且 post 如果它仍然可以正常工作,请发表评论。

编辑::我重新安装了 VS 2017,一切正常,所以 实际解决方案正在更新 VS 2017,我做不到因为它之前被锁定了。

感谢您分享您的修复。不幸的是,这对我不起作用。对我有用的是重新安装最新的 OmniSharp。

从这里复制粘贴 ticket:

The fix for this has been pushed into OmniSharp. You should be able to get the fix by setting the "omnisharp.path" option in VS Code to "latest". That will cause C# for VS Code to download the latest build OmniSharp at start up.