OmniSharp / omnisharp-roslyn

OmniSharp server (HTTP, STDIO) based on Roslyn workspaces
MIT License
1.78k stars 420 forks source link

Issue loading file or assembly #2035

Open matthewbahr opened 3 years ago

matthewbahr commented 3 years ago

OS: Windows 10.0.19041 N/A Build 19041

Terminal: Windows Command Line

I've been trying to get OS-Roslyn working and was getting obscure debug outputs. After talking with someone in one of the Omnisharp repos I got pointed here as it seems to be a roslyn issue.

Here is the error I'm getting when trying to launch the server:

C:\Gamedev\example>C:\Users\Matthew\AppData\Local\omnisharp-vim\omnisharp-roslyn\OmniSharp.exe -l debug
System.IO.FileLoadException: Could not load file or assembly 'System.Collections.Immutable, Version=1.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'System.Collections.Immutable, Version=1.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at OmniSharp.CompositionHostBuilder.CreateDefaultServiceProvider(IOmniSharpEnvironment environment, IConfigurationRoot configuration, IEventEmitter eventEmitter, IServiceCollection services, Action`1 configureLogging)
   at OmniSharp.Stdio.Driver.Program.<>c__DisplayClass0_1.<Main>b__1()
   at OmniSharp.HostHelpers.Start(Func`1 action)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

I know I have dotnet installed. Hitting dotnet --version outputs 5.0.100

Any advice?

nickspoons commented 3 years ago

Additional info: this OmniSharp.exe was installed by OmniSharp-vim, so it will be the omnisharp-win-x64.zip release.

The project being loaded is for Unity development so is a .NET Framework project.