错误是Located 0 MSBuild instance(s),导致后面的Could not locate MSBuild instance。
PID: 11556
[info]: OmniSharp.Stdio.Host
Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
Checking the 'DOTNET_ROOT' environment variable to find a .NET SDK
[info]: OmniSharp.Services.DotNetCliService
Using the 'dotnet' on the PATH.
[info]: OmniSharp.Services.DotNetCliService
DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 0 MSBuild instance(s)
[STDERR] Could not locate MSBuild instance to register with OmniSharp.
有人说更改omnisharp.path
![](https://img-blog.csdnimg.cn/img_convert/20bfeee2170c9c653348d3d38c3d8510.png)
Could not locate MSBuild instance to register with OmniSharp
![](https://img-blog.csdnimg.cn/img_convert/9de051efc3b5b9d4a46be0c81bf34dd9.png)
。。。。。这怎么改
解决方法:
去到C:\Users\name\.vscode\extensions\ms-dotnettools.csharp-1.25.2-win32-x64\.omnisharp
找到下面两个文件:(第一个是vscode自身下载的,第二个文件得我们自己去下载net6.0)
![](https://img-blog.csdnimg.cn/img_convert/64ba603ea1a306102c2ea2b63e3ba82b.png)
如果没有第一个文件1.39.2(就是直接删了第一个文件)
重启vscode时,会默认把文件1.39.2给下载回来
![](https://img-blog.csdnimg.cn/img_convert/4cc89e96a176efe6961dd8e8bebce018.png)
这两个文件看似一样,但是如果分别直接执行两个OmniSharp,
![](https://img-blog.csdnimg.cn/img_convert/6dcddeeeeab7e2a716bcd3bd04c2394a.png)
文件1.39.2如下,和开头的错误一致。
![](https://img-blog.csdnimg.cn/img_convert/7bcf1ff66241eafb6cce2183ac3bf63a.png)
解决方法也很明显,删了第一个文件1.39.2,把1.39.2-net.6改名为1.39.2。
——————————
重启vscode之后,自动执行
![](https://img-blog.csdnimg.cn/img_convert/58298e7b75bbcc722d4b0074dbe88bbf.png)
可以自动补全了代码了
![](https://img-blog.csdnimg.cn/img_convert/ab7655dd9b3e4afca1403c807c47a725.png)
所以本质上是vscode的默认.omnisharp下的内容与.net6.0不匹配