title: Analyzers error in Visual Studio 2022 Preview
body: <p>The Release version of Visual Studio works with C# 11, but the <a href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/required" rel="nofollow noreferrer"><code>required</code></a> keyword isn’t even recognized as such, which I wanted to try out. So I installed the Preview version of Visual Studio 2022 (Preview 5.0, upadted to 6.0 today).</p>
  <p>When starting VS 2022 Preview, I get a lot of errors in analyzers and similar features (see image below). Their stack traces (also below) are all telling essentially the same story: The method <code>ImmutableArray</code> is cannot be found.</p>
  <ul>
  <li>Clicking on “Enable”, the error re-appears after a few seconds.</li>
  <li>Looking it up, I added the NuGet package <code>ImmutableArray</code> to the soulution. That seemed like an odd thing to have do, but if it had worked, I’d have been fine with it.</li>
  <li>Both a fresh C# console application project and an existing project (one that perfectly works in the latest Release version of VS 2022) crash the analyzers.</li>
  <li>Closing and re-opening VS did not help.</li>
  <li>Restarting the PC did not help.</li>
  <li>Using the “Repair” option in Visual Studio Installer did not help.</li>
  <li>Manually uninstalling and re-installing the Preview version (not yet tried with 6.0) did not help.</li>
  </ul>
  <p>It seems nobody but me has encountered this. I suspect that there’s something missing in the installation. Below is a screenshot of the installed components.</p>
  <hr />
  <p>Stitched-together screenshot of the errors:
  <a href="https://i.stack.imgur.com/uCM8E.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/uCM8E.png" alt="enter image description here" /></a></p>
  <p>The stack trace of the first:
  (Note: <code>Methode nicht gefunden</code> is German for <code>Method not found</code>. My Visual Studio UI is switched to English, but some German slips through for some reason. I did not alter the other strack trace where it is English.)</p>
  <pre><code>StreamJsonRpc.RemoteInvocationException: Methode nicht gefunden: &quot;System.Collections.Immutable.ImmutableArray`1&lt;Microsoft.Cci.ICustomModifier&gt; Microsoft.Cci.IFieldReference.get_RefCustomModifiers()&quot;.
     at StreamJsonRpc.JsonRpc.&lt;InvokeCoreAsync&gt;d__143`1.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Microsoft.CodeAnalysis.Remote.BrokeredServiceConnection`1.&lt;TryInvokeAsync&gt;d__18`1.MoveNext()
  RPC server exception:
  System.MissingMethodException: Methode nicht gefunden: &quot;System.Collections.Immutable.ImmutableArray`1&lt;Microsoft.Cci.ICustomModifier&gt; Microsoft.Cci.IFieldReference.get_RefCustomModifiers()&quot;.
        bei Microsoft.CodeAnalysis.CSharp.CSharpCompilation..ctor(String assemblyName, CSharpCompilationOptions options, ImmutableArray`1 references, CSharpCompilation previousSubmission, Type submissionReturnType, Type hostObjectType, Boolean isSubmission, ReferenceManager referenceManager, Boolean reuseReferenceManager, SyntaxAndDeclarationManager syntaxAndDeclarations, IReadOnlyDictionary`2 features, SemanticModelProvider semanticModelProvider, AsyncQueue`1 eventQueue)
        bei Microsoft.CodeAnalysis.CSharp.CSharpCompilation.Create(String assemblyName, CSharpCompilationOptions options, IEnumerable`1 syntaxTrees, IEnumerable`1 references, CSharpCompilation previousSubmission, Type returnType, Type hostObjectType, Boolean isSubmission)
        bei Microsoft.CodeAnalysis.CSharp.CSharpCompilationFactoryService.Microsoft.CodeAnalysis.Host.ICompilationFactoryService.CreateCompilation(String assemblyName, CompilationOptions options)
        bei Microsoft.CodeAnalysis.SolutionState.CompilationTracker.&lt;BuildDeclarationCompilationFromScratchAsync&gt;d__34.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.SolutionState.CompilationTracker.&lt;BuildCompilationInfoFromScratchAsync&gt;d__33.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.SolutionState.CompilationTracker.&lt;BuildCompilationInfoAsync&gt;d__32.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.SolutionState.CompilationTracker.&lt;GetOrBuildCompilationInfoAsync&gt;d__31.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.SolutionState.CompilationTracker.&lt;GetCompilationSlowAsync&gt;d__29.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.Document.&lt;GetSemanticModelAsync&gt;d__23.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.Shared.Extensions.DocumentExtensions.&lt;GetRequiredSemanticModelAsync&gt;d__7.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.DocumentHighlighting.AbstractDocumentHighlightsService.&lt;GetDocumentHighlightsInCurrentProcessAsync&gt;d__2.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.DocumentHighlighting.AbstractDocumentHighlightsService.&lt;GetDocumentHighlightsAsync&gt;d__1.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.Remote.RemoteDocumentHighlightsService.&lt;&gt;c__DisplayClass2_0.&lt;&lt;GetDocumentHighlightsAsync&gt;b__0&gt;d.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.Remote.RemoteWorkspace.&lt;&gt;c__DisplayClass10_0`1.&lt;&lt;RunWithSolutionAsync&gt;g__TryFastGetSolutionAndRunAsync|0&gt;d.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.Remote.RemoteWorkspace.&lt;RunWithSolutionAsync&gt;d__10`1.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.Remote.BrokeredServiceBase.&lt;RunWithSolutionAsync&gt;d__11`1.MoveNext()
     --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
        bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
        bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
        bei Microsoft.CodeAnalysis.Remote.BrokeredServiceBase.&lt;RunServiceImplAsync&gt;d__14`1.MoveNext()
  </code></pre>
  <p>Of the third:</p>
  <pre><code>System.MissingMethodException : Method not found: 'System.Collections.Immutable.ImmutableArray`1&lt;Microsoft.Cci.ICustomModifier&gt; Microsoft.Cci.IFieldReference.get_RefCustomModifiers()'.
     at Microsoft.CodeAnalysis.CSharp.CSharpCompilation..ctor(String assemblyName,CSharpCompilationOptions options,ImmutableArray`1 references,CSharpCompilation previousSubmission,Type submissionReturnType,Type hostObjectType,Boolean isSubmission,ReferenceManager referenceManager,Boolean reuseReferenceManager,SyntaxAndDeclarationManager syntaxAndDeclarations,IReadOnlyDictionary`2 features,SemanticModelProvider semanticModelProvider,AsyncQueue`1 eventQueue)
     at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.Create(String assemblyName,CSharpCompilationOptions options,IEnumerable`1 syntaxTrees,IEnumerable`1 references,CSharpCompilation previousSubmission,Type returnType,Type hostObjectType,Boolean isSubmission)
     at Microsoft.CodeAnalysis.CSharp.CSharpCompilationFactoryService.Microsoft.CodeAnalysis.Host.ICompilationFactoryService.CreateCompilation(String assemblyName,CompilationOptions options)
     at async Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildDeclarationCompilationFromScratchAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoFromScratchAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetOrBuildCompilationInfoAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetCompilationSlowAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.Document.GetSemanticModelAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.SemanticDocument.CreateAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.IntroduceVariable.AbstractIntroduceVariableService`6.IntroduceVariableAsync[TService,TExpressionSyntax,TTypeSyntax,TTypeDeclarationSyntax,TQueryExpressionSyntax,TNameSyntax](&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.IntroduceVariable.IntroduceVariableCodeRefactoringProvider.ComputeRefactoringsAsync(&lt;Unknown Parameters&gt;)
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
     at async Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringService.GetRefactoringFromProviderAsync(&lt;Unknown Parameters&gt;)
  </code></pre>
  <hr />
  <p>Installation Details (sorry for German, I don’t know how to change it):</p>
  <p><a href="https://i.stack.imgur.com/sCufi.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/sCufi.png" alt="enter image description here" /></a></p>
  <hr />
  <p>I (seem to) have the latest SDK installed (Win+R, “cmd”, Enter):</p>
  <pre><code>C:\Users\user&gt;dotnet --version
  7.0.100-preview.6.22352.1
  </code></pre>
  <hr />
  <p>Edit: After updating the release version of Visual Studio 2022 to 17.3.1, I have the problems in the release version. On the other hand, the 17.4 Preview seems to have the issue solved.</p>