Usando Vs 2019.9.2 (o v 2019.9.0):
Cree una aplicación net5 de consola. Agrega la siguiente clase:
class Class1 { public void Test1() { if (shape is Circle { Radius: >= 100 }) //variable shape is un defined, cause many errors by vs 2019.9.2 { // this is a huge circle } } } public class Circle { public double Radius { get; init; } }Recibe muchos mensajes de error (sin compilación) en la pantalla superior debajo del menú con estos errores comunes:
Feature 'Diagnostic analyzer runner' is currently unavailable due to an internal error. Show Stack Trace Feature 'CodeLens references' is currently unavailable due to an internal error. Show Stack Trace Feature 'Semantic classification cache' is currently unavailable due to an internal error. Show Stack Trace The common error message in Stack Trace: RPC server exception: System.InvalidOperationException: Operation is not valid due to the current state of the object.como se muestra en la siguiente figura:
y no puede eliminar estos errores, entonces vs2019 genera el error de compilación:
Error MSB6006 "csc.exe" exited with code -2146232797. Vs2019Bug C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Roslyn\Microsoft.CSharp.Core.targets 71La línea (con forma variable indefinida)
if (shape is Circle { Radius: >= 100 })causa estos errores, y se espera que vs 2019 genere un error de compilación.
Elimine la marca Property Patten y reemplace la línea anterior con la siguiente:
if (shape is Circle ) //cause compilation error as expected¿Qué me perdí para evitar el error de tiempo de ejecución VS2019?
He publicado el problema en el Proyecto Roslyn aquí .
Se informó como un error y Roslyn Team resolvió el problema en la próxima versión de Vs 2019.
Gracias al equipo de Roslyn.