OmniSharp.MSBuild.ProjectLoader报错跳坑记

OmniSharp.MSBuild.ProjectLoader报错跳坑记

322发表于2018-09-12

今天打开vs code的时候项目突然没有引用和智能提示了,查看OmniSharp Log日志出现以下错误:

OmniSharp.MSBuild.ProjectLoader
        The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 
1.) The name of the task in the project file is the same as the name of the task class. 
2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 
3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Users\Administrator\.vscode\extensions\ms-vscode.csharp-1.16.0\.omnisharp\1.32.4\msbuild\15.0\Bin" directory.
导致项目加载失败!

这个要命了,里面代码引用数没有显示,ctrl+左键也定位不到代码。于是各种google,黄天不负有心人,终于找到点蛛丝解决办法。

在这里把这个坑分享给大家,节约时间。

原来是版本C# extension问题。默认vs code会自动升级插件的版本。这个版本有bug。

难怪昨天都还是好,今天死活都不行。重装vs code都不行。

看看我的C# 扩展,果然变成了1.16了,vs code为1.27.1了。

怎么办呢?

上面图片给出了办法。降级,把C# extension降1.15.2。

1、首先,卸载原来的C# extension。这不用我说了吧!,然后禁用插件的自动更新。


为了防止自动更新插件,添加如下代码:


"update.channel": "none",
"extensions.autoCheckUpdates": false,
"extensions.autoUpdate": false



2、然后,下载1.15.2的老版本:https://github.com/OmniSharp/omnisharp-vscode/releases/tag/v1.15.2

下载下来是一个文件为:csharp-1.15.2.vsix的文件。


3、手动安装vs code插件

ctrl+p,输入:>ext install

选择前面下载好的vsix文件,开始安装。

插件安装好后会提示重启vs code。


小编蓝狐