omnisharp-roslyn icon indicating copy to clipboard operation
omnisharp-roslyn copied to clipboard

VS Code's code completion causes many errors by OmniSharp

Open mkorsukov opened this issue 11 months ago • 19 comments

Setup:

  • Ubuntu 20.04.6
  • .NET SDK 8.0.202 (the only version on machine)
  • VS Code 1.87.2
  • C# extension 2.22.5 (OmniSharp 1.39.11-net6)
  • No C# DevKit

VS Code's settings.json

{
  "csharp.showOmnisharpLogOnError": true,
  "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": true,
  "dotnet.defaultSolution": "disable",
  "dotnet.server.useOmnisharp": true,
  "omnisharp.useModernNet": true,
  "omnisharp.enableEditorConfigSupport": true,
  "omnisharp.sdkIncludePrereleases": false,
  "omnisharp.loggingLevel": "warning"
}

OnmiSharp Startup message

Starting OmniSharp server at 3/22/2024, 10:36:56 AM
  Target: /media/ramdisk/Platform/Src

OmniSharp server started with .NET 8.0.202
.
  Path: /home/max/.vscode/extensions/ms-dotnettools.csharp-2.22.5-linux-x64/.omnisharp/1.39.11-net6.0/OmniSharp.dll
  PID: 8240

Code example

using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace X.App.Office.Commands;

public sealed class GetTextDialogCommand
{ }

Steps to reproduce

When I click on namespace word itself I get a warning log message, which is not a big deal (could be [info] however).

[warn]: OmniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService
        No symbol found. File: /media/ramdisk/Platform/Src/Apps/Office/Commands/Text/GetTextDialogCommand.cs, Line: 7, Column: 2.

When I click on the namespace's name within X.App.Office.Commands words I get an error log message. Sometimes it results in inability to use code completion in the project at all.

[warn]: OmniSharp.Stdio.Host
        ************ Request ************
{
  "Type": "request",
  "Seq": 618,
  "Command": "/v2/getcodeactions",
  "Arguments": {
    "FileName": "/media/ramdisk/Platform/Src/Apps/Office/Commands/Text/GetTextDialogCommand.cs",
    "Line": 7,
    "Column": 18
  }
}
[fail]: OmniSharp.Stdio.Host
        ************  Response (17.0102ms) ************ 
{
  "Request_seq": 618,
  "Command": "/v2/getcodeactions",
  "Running": true,
  "Success": false,
  "Message": "\"System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.\\nAccess is denied: 'Microsoft.AspNetCore.Razor.PooledObjects.PooledObject`1[System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.AspNetCore.Razor.Language.SourceMapping]]'.\\nAccess is denied: 'Microsoft.AspNetCore.Razor.PooledObjects.PooledObject`1[System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.AspNetCore.Razor.Language.SourceMapping]]'.\\n   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)\\n   at System.Reflection.RuntimeAssembly.get_DefinedTypes()\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.CachingCodeFixProviderForProjects.<>c.<LoadFrom>b__6_0(AnalyzerFileReference analyzerFileReference) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/CachingCodeFixProviderForProjects.cs:line 64\\n   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()\\n   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\\n   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()\\n   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)\\n   at System.Collections.Generic.SparseArrayBuilder`1.ReserveOrAdd(IEnumerable`1 items)\\n   at System.Linq.Enumerable.Concat2Iterator`1.ToArray()\\n   at System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable`1 items)\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.CachingCodeFixProviderForProjects.LoadFrom(Project project) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/CachingCodeFixProviderForProjects.cs:line 95\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.CachingCodeFixProviderForProjects.GetAllCodeFixesForProject(ProjectId projectId) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/CachingCodeFixProviderForProjects.cs:line 57\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.GetSortedCodeFixProviders(Document document) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 170\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.AppendFixesAsync(Document document, TextSpan span, IEnumerable`1 diagnostics, List`1 codeActions) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 142\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.CollectCodeFixesActions(Document document, TextSpan span, List`1 codeActions) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 134\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.GetAvailableCodeActions(ICodeActionRequest request) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 86\\n   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.GetCodeActionsService.Handle(GetCodeActionsRequest request) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/GetCodeActionsService.cs:line 34\\n   at OmniSharp.Endpoint.EndpointHandler`2.GetFirstNotEmptyResponseFromHandlers(ExportHandler`2[] handlers, TRequest request) in /home/vsts/work/1/s/src/OmniSharp.Host/Endpoint/EndpointHandler.cs:line 200\\n   at OmniSharp.Endpoint.EndpointHandler`2.HandleRequestForLanguage(String language, TRequest request, RequestPacket packet) in /home/vsts/work/1/s/src/OmniSharp.Host/Endpoint/EndpointHandler.cs:line 229\\n   at OmniSharp.Endpoint.EndpointHandler`2.Process(RequestPacket packet, LanguageModel model, JToken requestObject) in /home/vsts/work/1/s/src/OmniSharp.Host/Endpoint/EndpointHandler.cs:line 130\\n   at OmniSharp.Stdio.Host.HandleRequest(String json, ILogger logger) in /home/vsts/work/1/s/src/OmniSharp.Stdio/Host.cs:line 218\\nSystem.TypeLoadException: Access is denied: 'Microsoft.AspNetCore.Razor.PooledObjects.PooledObject`1[System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.AspNetCore.Razor.Language.SourceMapping]]'.\\nSystem.TypeLoadException: Access is denied: 'Microsoft.AspNetCore.Razor.PooledObjects.PooledObject`1[System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.AspNetCore.Razor.Language.SourceMapping]]'.\"",
  "Body": null,
  "Seq": 2076,
  "Type": "response"
}

Formatted error message

System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Access is denied: 'Microsoft.AspNetCore.Razor.PooledObjects.PooledObject`1[System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.AspNetCore.Razor.Language.SourceMapping]]'.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.RuntimeAssembly.get_DefinedTypes()
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.CachingCodeFixProviderForProjects.<>c.<LoadFrom>b__6_0(AnalyzerFileReference analyzerFileReference) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/CachingCodeFixProviderForProjects.cs:line 64
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)
   at System.Collections.Generic.SparseArrayBuilder`1.ReserveOrAdd(IEnumerable`1 items)
   at System.Linq.Enumerable.Concat2Iterator`1.ToArray()
   at System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable`1 items)
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.CachingCodeFixProviderForProjects.LoadFrom(Project project) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/CachingCodeFixProviderForProjects.cs:line 95
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.CachingCodeFixProviderForProjects.GetAllCodeFixesForProject(ProjectId projectId) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/CachingCodeFixProviderForProjects.cs:line 57
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.GetSortedCodeFixProviders(Document document) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 170
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.AppendFixesAsync(Document document, TextSpan span, IEnumerable`1 diagnostics, List`1 codeActions) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 142
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.CollectCodeFixesActions(Document document, TextSpan span, List`1 codeActions) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 134
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.BaseCodeActionService`2.GetAvailableCodeActions(ICodeActionRequest request) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/BaseCodeActionService.cs:line 86
   at OmniSharp.Roslyn.CSharp.Services.Refactoring.V2.GetCodeActionsService.Handle(GetCodeActionsRequest request) in /home/vsts/work/1/s/src/OmniSharp.Roslyn.CSharp/Services/Refactoring/V2/GetCodeActionsService.cs:line 34
   at OmniSharp.Endpoint.EndpointHandler`2.GetFirstNotEmptyResponseFromHandlers(ExportHandler`2[] handlers, TRequest request) in /home/vsts/work/1/s/src/OmniSharp.Host/Endpoint/EndpointHandler.cs:line 200
   at OmniSharp.Endpoint.EndpointHandler`2.HandleRequestForLanguage(String language, TRequest request, RequestPacket packet) in /home/vsts/work/1/s/src/OmniSharp.Host/Endpoint/EndpointHandler.cs:line 229
   at OmniSharp.Endpoint.EndpointHandler`2.Process(RequestPacket packet, LanguageModel model, JToken requestObject) in /home/vsts/work/1/s/src/OmniSharp.Host/Endpoint/EndpointHandler.cs:line 130
   at OmniSharp.Stdio.Host.HandleRequest(String json, ILogger logger) in /home/vsts/work/1/s/src/OmniSharp.Stdio/Host.cs:line 218
System.TypeLoadException: Access is denied: 'Microsoft.AspNetCore.Razor.PooledObjects.PooledObject`1[System.Collections.Immutable.ImmutableArray`1+Builder[Microsoft.AspNetCore.Razor.Language.SourceMapping]]'.

Questions

  • Is my setup broken or missing something?
  • Do I need .NET 6 SDK installed as well?

mkorsukov avatar Mar 22 '24 16:03 mkorsukov