我今天早上更新了我的Visual Studio代码,在进行更新后重新启动它。当我右键单击任何变量,方法,类名时,我没有得到任何选项(即“Goto Definition”,“Rename Symbol”)。在搜索了一段时间后,我发现打开视图>输出可能会帮助我知道发生了什么。我发现Omniserver没有运行,下面是我在输出窗口中得到的错误。
Starting OmniSharp server at 4/17/2019, 2:42:04 PM
Target: d:\projects\Division\Division.sln
OmniSharp server started.
Path: C:\Users\Unity3\.vscode\extensions\ms-vscode.csharp-1.19.0\.omnisharp\1.32.18\OmniSharp.exe
PID: 7508
System.IO.FileNotFoundException: Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.
File name: 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
at OmniSharp.Stdio.Driver.Program.<>c__DisplayClass0_1.<Main>b__1()
at OmniSharp.HostHelpers.Start(Func`1 action)
=== Pre-bind state information ===
LOG: DisplayName = netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
(Fully-specified)
LOG: Appbase = file:///C:/Users/Unity3/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/
LOG: Initial PrivatePath = NULL
Calling assembly : Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\Unity3\.vscode\extensions\ms-vscode.csharp-1.19.0\.omnisharp\1.32.18\OmniSharp.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
LOG: Attempting download of new URL file:///C:/Users/Unity3/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/netstandard.DLL.
LOG: Attempting download of new URL file:///C:/Users/Unity3/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/netstandard/netstandard.DLL.
LOG: Attempting download of new URL file:///C:/Users/Unity3/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/netstandard.EXE.
LOG: Attempting download of new URL file:///C:/Users/Unity3/.vscode/extensions/ms-vscode.csharp-1.19.0/.omnisharp/1.32.18/netstandard/netstandard.EXE.
[ERROR] Error: OmniSharp server load timed out. Use the 'omnisharp.projectLoadTimeout' setting to override the default delay (one minute).
更新VSCode后,我遇到了与Omnisharp v1.19.0相同的问题。我最终通过将C#扩展回滚到适用于我的早期版本(1.18.0)来解决它。右键单击扩展名并选择安装另一个版本...希望这有帮助!
回滚到1.18.0对我有用,但一定要将首选项“extensions.autoUpdate”设置为false,否则它将重新安装1.19.0
最新的OmniSharp需要安装.NET 4.7.2,请参阅https://github.com/OmniSharp/omnisharp-roslyn/blob/master/CHANGELOG.md#13214---2019-04-08