OmniSharp / OmniSharp/csharp-language-server-protocol

Mono build to load MSBuild

Open
#944 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
638
Forks
109
Avg merge
1m
Merged PRs (30d)
2

Description

Using a patched homebrew installation of omnisharp (https://github.com/OmniSharp/homebrew-omnisharp-roslyn/pull/18), I am not able to start the language server. Note I am using omnisharp via mono (as opposed to the .NET Core implementation) at the recommendation of the above homebrew tap's README:

$ cat `which omnisharp`
#!/usr/bin/env sh
mono /opt/homebrew/Cellar/omnisharp-mono/1.35.3/libexec/OmniSharp.exe $@

I strongly suspect https://github.com/OmniSharp/omnisharp-roslyn/issues/2339 is related and will be looking at using the .NET Core implementation after submitting this issue.

I cannot verify the specific version of omnisharp I'm using as omnisharp --version panics (including that panic here to hopefully add information that can be sued to draw a more specific pattern than 'MSBuild can't load'):

{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.Cake, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":1,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.DotNetTest, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":2,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.Host, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":3,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.MSBuild, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":4,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.Roslyn, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":5,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.Roslyn.CSharp, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":6,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.Script, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":7,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.CompositionHostBuilder","Message":"Loaded OmniSharp.Shared, Version=1.35.0.0, Culture=neutral, PublicKeyToken=null"},"Seq":8,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"INFORMATION","Name":"OmniSharp.Stdio.Host","Message":"Starting OmniSharp on MacOS 13.2.1 (Unknown)"},"Seq":9,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"INFORMATION","Name":"OmniSharp.Services.DotNetCliService","Message":"DotNetPath set to dotnet"},"Seq":10,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"DEBUG","Name":"OmniSharp.MSBuild.Discovery.Providers.MonoInstanceProvider","Message":"Mono MSBuild could not be used because '/opt/homebrew/Cellar/mono/6.12.0.182/lib/mono/msbuild/Current/bin/Microsoft.Build.dll' does not exist."},"Seq":11,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"INFORMATION","Name":"OmniSharp.MSBuild.Discovery.MSBuildLocator","Message":"Located 0 MSBuild instance(s)"},"Seq":12,"Type":"event"}
{"Event":"log","Body":{"LogLevel":"ERROR","Name":"OmniSharp.CompositionHostBuilder","Message":"Could not locate MSBuild instance to register with OmniSharp"},"Seq":13,"Type":"event"}
System.TypeLoadException: Could not load type of field 'OmniSharp.MSBuild.Notification.ProjectLoadedEventArgs:<ProjectInstance>k__BackingField' (2) due to: Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
  at (wrapper managed-to-native) System.RuntimeType.GetPropertiesByName_native(System.RuntimeType,intptr,System.Reflection.BindingFlags,System.RuntimeType/MemberListType)
  at System.RuntimeType.GetPropertiesByName (System.String name, System.Reflection.BindingFlags bindingAttr, System.RuntimeType+MemberListType listType, System.RuntimeType reflectedType) [0x0001b] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.RuntimeType.GetPropertyCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Type[] types, System.Boolean allowPrefixLookup) [0x00010] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.RuntimeType.GetProperties (System.Reflection.BindingFlags bindingAttr) [0x00000] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties (System.Type type) [0x00014] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverPropertyExports>d__7.MoveNext () [0x00030] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverExports>d__5.MoveNext () [0x000dc] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector.InspectTypeForPart (System.Reflection.TypeInfo type, System.Composition.TypedParts.Discovery.DiscoveredPart& part) [0x00061] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor (System.Collections.Generic.IEnumerable`1[T] types, System.Composition.Convention.AttributedModelProvider attributeContext) [0x00037] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.Hosting.ContainerConfiguration.CreateContainer () [0x00042] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at OmniSharp.CompositionHostBuilder.Build () [0x00243] in <0d216eab8720499ba5d3870bfa4b8299>:0 
  at OmniSharp.Stdio.Host..ctor (System.IO.TextReader input, OmniSharp.Services.ISharedTextWriter writer, OmniSharp.IOmniSharpEnvironment environment, System.IServiceProvider serviceProvider, OmniSharp.CompositionHostBuilder compositionHostBuilder, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, System.Threading.CancellationTokenSource cancellationTokenSource) [0x00057] in <3145a0c1b5aa4273b560f91fdb412613>:0 
  at OmniSharp.Stdio.Driver.Program+<>c__DisplayClass0_1.<Main>b__1 () [0x00155] in <77a83f25aaac405d8fd2d753bf8067b2>:0 
  at OmniSharp.CommandLineApplication+<>c__DisplayClass11_0.<OnExecute>b__0 () [0x0000b] in <0d216eab8720499ba5d3870bfa4b8299>:0 
  at McMaster.Extensions.CommandLineUtils.CommandLineApplication.Execute (System.String[] args) [0x00039] in <344a1e8cd6594b17b1e01f8df6ae8827>:0 
  at OmniSharp.CommandLineApplication.Execute (System.String[] args) [0x00081] in <0d216eab8720499ba5d3870bfa4b8299>:0 
  at OmniSharp.Stdio.Driver.Program+<>c__DisplayClass0_0.<Main>b__0 () [0x00028] in <77a83f25aaac405d8fd2d753bf8067b2>:0 
  at OmniSharp.HostHelpers.Start (System.Func`1[TResult] action) [0x0001c] in <0d216eab8720499ba5d3870bfa4b8299>:0 

The specific LSP client I'm using is eglot and I receive this output in the buffer opened by M-x eglot-events-buffer (with <clipped-project-path> replacing the real project path/name):

[internal] Fri Mar 10 17:52:35 2023:
(:message "Running language server: omnisharp -lsp")
[client-request] (id:1) Fri Mar 10 17:52:35 2023:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
          (:processId 88924 :rootPath "<clipped-project-path>/" :rootUri "file://<clipped-project-path>" :initializationOptions #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
                                                                                                                                                                                                                        ())
                      :capabilities
                      (:workspace
                       (:applyEdit t :executeCommand
                                   (:dynamicRegistration :json-false)
                                   :workspaceEdit
                                   (:documentChanges t)
                                   :didChangeWatchedFiles
                                   (:dynamicRegistration t)
                                   :symbol
                                   (:dynamicRegistration :json-false)
                                   :configuration t :workspaceFolders t)
                       :textDocument
                       (:synchronization
                        (:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t)
                        :completion
                        (:dynamicRegistration :json-false :completionItem
                                              (:snippetSupport t :deprecatedSupport t :tagSupport
                                                               (:valueSet
                                                                [1]))
                                              :contextSupport t)
                        :hover
                        (:dynamicRegistration :json-false :contentFormat
                                              ["markdown" "plaintext"])
                        :signatureHelp
                        (:dynamicRegistration :json-false :signatureInformation
                                              (:parameterInformation
                                               (:labelOffsetSupport t)
                                               :activeParameterSupport t))
                        :references
                        (:dynamicRegistration :json-false)
                        :definition
                        (:dynamicRegistration :json-false :linkSupport t)
                        :declaration
                        (:dynamicRegistration :json-false :linkSupport t)
                        :implementation
                        (:dynamicRegistration :json-false :linkSupport t)
                        :typeDefinition
                        (:dynamicRegistration :json-false :linkSupport t)
                        :documentSymbol
                        (:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind
                                              (:valueSet
                                               [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26]))
                        :documentHighlight
                        (:dynamicRegistration :json-false)
                        :codeAction
                        (:dynamicRegistration :json-false :codeActionLiteralSupport
                                              (:codeActionKind
                                               (:valueSet
                                                ["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"]))
                                              :isPreferredSupport t)
                        :formatting
                        (:dynamicRegistration :json-false)
                        :rangeFormatting
                        (:dynamicRegistration :json-false)
                        :rename
                        (:dynamicRegistration :json-false)
                        :publishDiagnostics
                        (:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport
                                             (:valueSet
                                              [1 2])))
                       :experimental #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
                                                   ()))
                      :workspaceFolders
                      [(:uri "file://<clipped-project-path>" :name "~/<clipped-relative-project-path>/")]))
[server-notification] Fri Mar 10 17:52:36 2023:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 1 :message "Could not locate MSBuild instance to register with OmniSharp"))
[server-notification] Fri Mar 10 17:52:36 2023:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 1 :message "Failed to handle notification initialize - System.TypeLoadException: Could not load type of field 'OmniSharp.MSBuild.Notification.ProjectLoadedEventArgs:<ProjectInstance>k__BackingField' (2) due to: Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.\n  at (wrapper managed-to-native) System.RuntimeType.GetPropertiesByName_native(System.RuntimeType,intptr,System.Reflection.BindingFlags,System.RuntimeType/MemberListType)\n  at System.RuntimeType.GetPropertiesByName (System.String name, System.Reflection.BindingFlags bindingAttr, System.RuntimeType+MemberListType listType, System.RuntimeType reflectedType) [0x0001b] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.RuntimeType.GetPropertyCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Type[] types, System.Boolean allowPrefixLookup) [0x00010] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.RuntimeType.GetProperties (System.Reflection.BindingFlags bindingAttr) [0x00000] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties (System.Type type) [0x00014] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverPropertyExports>d__7.MoveNext () [0x00030] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverExports>d__5.MoveNext () [0x000dc] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.TypedParts.Discovery.TypeInspector.InspectTypeForPart (System.Reflection.TypeInfo type, System.Composition.TypedParts.Discovery.DiscoveredPart& part) [0x00061] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor (System.Collections.Generic.IEnumerable`1[T] types, System.Composition.Convention.AttributedModelProvider attributeContext) [0x00037] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.Hosting.ContainerConfiguration.CreateContainer () [0x00042] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at OmniSharp.CompositionHostBuilder.Build () [0x00243] in <0d216eab8720499ba5d3870bfa4b8299>:0 \n  at OmniSharp.LanguageServerProtocol.LanguageServerHost.CreateCompositionHost (OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams initializeParams) [0x00124] in <55c25305b0e8407384c9efef4eb09cc1>:0 \n  at OmniSharp.LanguageServerProtocol.LanguageServerHost.Initialize (OmniSharp.Extensions.LanguageServer.Server.ILanguageServer server, OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams initializeParams) [0x00000] in <55c25305b0e8407384c9efef4eb09cc1>:0 \n  at OmniSharp.Extensions.LanguageServer.Server.LanguageServer+<>c__DisplayClass55_0.<MediatR.IRequestHandler<OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams,OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeResult>.Handle>b__0 (OmniSharp.Extensions.LanguageServer.Server.InitializeDelegate c) [0x00000] in <72d5c645fd274cab83fd1f12f360a92e>:0 \n  at System.Linq.Enumerable+SelectListIterator`2[TSource,TResult].MoveNext () [0x00048] in <af7da3dfa75342efa3e3326915d316d2>:0 \n  at System.Threading.Tasks.Task.WhenAll (System.Collections.Generic.IEnumerable`1[T] tasks) [0x000ba] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at OmniSharp.Extensions.LanguageServer.Server.LanguageServer.MediatR.IRequestHandler<OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams,OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeResult>.Handle (OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams request, System.Threading.CancellationToken token) [0x001f4] in <72d5c645fd274cab83fd1f12f360a92e>:0 \n  at OmniSharp.Extensions.LanguageServer.Server.Pipelines.ResolveCommandPipeline`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x000e1] in <72d5c645fd274cab83fd1f12f360a92e>:0 \n  at MediatR.Pipeline.RequestPostProcessorBehavior`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x0007e] in <eabe42abe9454fa58bdac29bc6aabb6a>:0 \n  at MediatR.Pipeline.RequestPreProcessorBehavior`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x0013e] in <eabe42abe9454fa58bdac29bc6aabb6a>:0 \n  at OmniSharp.Extensions.JsonRpc.RequestRouterBase`1[TDescriptor].RouteRequest (TDescriptor descriptor, OmniSharp.Extensions.JsonRpc.Server.Request request, System.Threading.CancellationToken token) [0x00399] in <da46d4e8076c414ebe949c0004330da2>:0 "))
[server-reply] (id:1) ERROR Fri Mar 10 17:52:36 2023:
(:jsonrpc "2.0" :id "1" :error
          (:code -32602 :message "Internal Error - System.TypeLoadException: Could not load type of field 'OmniSharp.MSBuild.Notification.ProjectLoadedEventArgs:<ProjectInstance>k__BackingField' (2) due to: Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.\n  at (wrapper managed-to-native) System.RuntimeType.GetPropertiesByName_native(System.RuntimeType,intptr,System.Reflection.BindingFlags,System.RuntimeType/MemberListType)\n  at System.RuntimeType.GetPropertiesByName (System.String name, System.Reflection.BindingFlags bindingAttr, System.RuntimeType+MemberListType listType, System.RuntimeType reflectedType) [0x0001b] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.RuntimeType.GetPropertyCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Type[] types, System.Boolean allowPrefixLookup) [0x00010] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.RuntimeType.GetProperties (System.Reflection.BindingFlags bindingAttr) [0x00000] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties (System.Type type) [0x00014] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverPropertyExports>d__7.MoveNext () [0x00030] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverExports>d__5.MoveNext () [0x000dc] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.TypedParts.Discovery.TypeInspector.InspectTypeForPart (System.Reflection.TypeInfo type, System.Composition.TypedParts.Discovery.DiscoveredPart& part) [0x00061] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor (System.Collections.Generic.IEnumerable`1[T] types, System.Composition.Convention.AttributedModelProvider attributeContext) [0x00037] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at System.Composition.Hosting.ContainerConfiguration.CreateContainer () [0x00042] in <9aac21a4a3f24063b2b8b59143acddfc>:0 \n  at OmniSharp.CompositionHostBuilder.Build () [0x00243] in <0d216eab8720499ba5d3870bfa4b8299>:0 \n  at OmniSharp.LanguageServerProtocol.LanguageServerHost.CreateCompositionHost (OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams initializeParams) [0x00124] in <55c25305b0e8407384c9efef4eb09cc1>:0 \n  at OmniSharp.LanguageServerProtocol.LanguageServerHost.Initialize (OmniSharp.Extensions.LanguageServer.Server.ILanguageServer server, OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams initializeParams) [0x00000] in <55c25305b0e8407384c9efef4eb09cc1>:0 \n  at OmniSharp.Extensions.LanguageServer.Server.LanguageServer+<>c__DisplayClass55_0.<MediatR.IRequestHandler<OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams,OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeResult>.Handle>b__0 (OmniSharp.Extensions.LanguageServer.Server.InitializeDelegate c) [0x00000] in <72d5c645fd274cab83fd1f12f360a92e>:0 \n  at System.Linq.Enumerable+SelectListIterator`2[TSource,TResult].MoveNext () [0x00048] in <af7da3dfa75342efa3e3326915d316d2>:0 \n  at System.Threading.Tasks.Task.WhenAll (System.Collections.Generic.IEnumerable`1[T] tasks) [0x000ba] in <83a10ac9d03d4b5b9cab686735823828>:0 \n  at OmniSharp.Extensions.LanguageServer.Server.LanguageServer.MediatR.IRequestHandler<OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams,OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeResult>.Handle (OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams request, System.Threading.CancellationToken token) [0x001f4] in <72d5c645fd274cab83fd1f12f360a92e>:0 \n  at OmniSharp.Extensions.LanguageServer.Server.Pipelines.ResolveCommandPipeline`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x000e1] in <72d5c645fd274cab83fd1f12f360a92e>:0 \n  at MediatR.Pipeline.RequestPostProcessorBehavior`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x0007e] in <eabe42abe9454fa58bdac29bc6aabb6a>:0 \n  at MediatR.Pipeline.RequestPreProcessorBehavior`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x0013e] in <eabe42abe9454fa58bdac29bc6aabb6a>:0 \n  at OmniSharp.Extensions.JsonRpc.RequestRouterBase`1[TDescriptor].RouteRequest (TDescriptor descriptor, OmniSharp.Extensions.JsonRpc.Server.Request request, System.Threading.CancellationToken token) [0x00399] in <da46d4e8076c414ebe949c0004330da2>:0 "))
[internal] Fri Mar 10 17:53:05 2023:
(:message "Connection state changed" :change "killed: 9\n")

----------b---y---e---b---y---e----------
[stderr] 
[stderr] 
[stderr] nil
[stderr] nil
[stderr] Process EGLOT (git-dlg/(csharp-mode)) stderr finished

The stack trace in the [server-reply] (id:1) ERROR Fri Mar 10 17:52:36 2023 line is

Internal Error - System.TypeLoadException: Could not load type of field 'OmniSharp.MSBuild.Notification.ProjectLoadedEventArgs:<ProjectInstance>k__BackingField' (2) due to: Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
  at (wrapper managed-to-native) System.RuntimeType.GetPropertiesByName_native(System.RuntimeType,intptr,System.Reflection.BindingFlags,System.RuntimeType/MemberListType)
  at System.RuntimeType.GetPropertiesByName (System.String name, System.Reflection.BindingFlags bindingAttr, System.RuntimeType+MemberListType listType, System.RuntimeType reflectedType) [0x0001b] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.RuntimeType.GetPropertyCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Type[] types, System.Boolean allowPrefixLookup) [0x00010] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.RuntimeType.GetProperties (System.Reflection.BindingFlags bindingAttr) [0x00000] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties (System.Type type) [0x00014] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverPropertyExports>d__7.MoveNext () [0x00030] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverExports>d__5.MoveNext () [0x000dc] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector.InspectTypeForPart (System.Reflection.TypeInfo type, System.Composition.TypedParts.Discovery.DiscoveredPart& part) [0x00061] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor (System.Collections.Generic.IEnumerable`1[T] types, System.Composition.Convention.AttributedModelProvider attributeContext) [0x00037] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.Hosting.ContainerConfiguration.CreateContainer () [0x00042] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at OmniSharp.CompositionHostBuilder.Build () [0x00243] in <0d216eab8720499ba5d3870bfa4b8299>:0 
  at OmniSharp.LanguageServerProtocol.LanguageServerHost.CreateCompositionHost (OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams initializeParams) [0x00124] in <55c25305b0e8407384c9efef4eb09cc1>:0 
  at OmniSharp.LanguageServerProtocol.LanguageServerHost.Initialize (OmniSharp.Extensions.LanguageServer.Server.ILanguageServer server, OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams initializeParams) [0x00000] in <55c25305b0e8407384c9efef4eb09cc1>:0 
  at OmniSharp.Extensions.LanguageServer.Server.LanguageServer+<>c__DisplayClass55_0.<MediatR.IRequestHandler<OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams,OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeResult>.Handle>b__0 (OmniSharp.Extensions.LanguageServer.Server.InitializeDelegate c) [0x00000] in <72d5c645fd274cab83fd1f12f360a92e>:0 
  at System.Linq.Enumerable+SelectListIterator`2[TSource,TResult].MoveNext () [0x00048] in <af7da3dfa75342efa3e3326915d316d2>:0 
  at System.Threading.Tasks.Task.WhenAll (System.Collections.Generic.IEnumerable`1[T] tasks) [0x000ba] in <83a10ac9d03d4b5b9cab686735823828>:0 
  at OmniSharp.Extensions.LanguageServer.Server.LanguageServer.MediatR.IRequestHandler<OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams,OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeResult>.Handle (OmniSharp.Extensions.LanguageServer.Protocol.Models.InitializeParams request, System.Threading.CancellationToken token) [0x001f4] in <72d5c645fd274cab83fd1f12f360a92e>:0 
  at OmniSharp.Extensions.LanguageServer.Server.Pipelines.ResolveCommandPipeline`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x000e1] in <72d5c645fd274cab83fd1f12f360a92e>:0 
  at MediatR.Pipeline.RequestPostProcessorBehavior`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x0007e] in <eabe42abe9454fa58bdac29bc6aabb6a>:0 
  at MediatR.Pipeline.RequestPreProcessorBehavior`2[TRequest,TResponse].Handle (TRequest request, System.Threading.CancellationToken cancellationToken, MediatR.RequestHandlerDelegate`1[TResponse] next) [0x0013e] in <eabe42abe9454fa58bdac29bc6aabb6a>:0 
  at OmniSharp.Extensions.JsonRpc.RequestRouterBase`1[TDescriptor].RouteRequest (TDescriptor descriptor, OmniSharp.Extensions.JsonRpc.Server.Request request, System.Threading.CancellationToken token) [0x00399] in <da46d4e8076c414ebe949c0004330da2>:0 

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure by running omnisharp -lsp through the shown Mono wrapper and inspect the MonoInstanceProvider discovery path referenced in the logs. Compare the expected MSBuild location with the installed Mono layout and verify that OmniSharp can locate MSBuild and start without the reported Microsoft.Build load error.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.