Actualmente, mi equipo no puede cargar ninguno de los formularios de Windows en nuestro proyecto de Visual Studio debido a este error: el valor no puede ser nulo. (Parámetro 'nombreDePropiedad')
Este error ocurre cuando hacemos doble clic en el archivo [Dialog]Dlg.cs asociado con cualquiera de nuestros formularios de Windows.
Editar: después de instalar VS 2022, ocurre el mismo problema, pero ahora al menos se nos da un seguimiento de pila: StreamJsonRpc.RemoteInvocationException: el valor no puede ser nulo. (Parámetro 'propertyName') en StreamJsonRpc.JsonRpc.d__143`1.MoveNext() --- Fin del seguimiento de la pila desde la ubicación anterior donde se lanzó la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en System. Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(tarea) en Microsoft.DotNet.DesignTools.Client.Host.ServerHost.d__15.MoveNext() --- Fin del seguimiento de la pila desde la ubicación anterior donde se lanzó la excepción --- en System.Runtime .ExceptionServices.ExceptionDispatchInfo.Throw() en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(tarea de tareas) en Microsoft.DotNet.DesignTools.Client.DesignToolsClientLoader.d__28.MoveNext() --- Fin del seguimiento de la pila desde la ubicación anterior donde se produjo la excepción fue lanzado --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(ExceptionExceptionObject) Excepción del servidor RPC: Syste m.ArgumentNullException: el valor no puede ser nulo. (Parámetro 'propertyName') en Microsoft.DotNet.DesignTools.Server.GlobalObjects.ResXGlobalObject.ResourceGlobalObject..ctor(ResXGlobalObject globalObject, ResXDataNode node, Type resourceType, String resourceName, String propertyName, String CombinedName) en Microsoft.DotNet.DesignTools.Server .GlobalObjects.ResXGlobalObject.BuildType() en Microsoft.DotNet.DesignTools.Server.GlobalObjects.ResXGlobalObject.GetObjectType() en Microsoft.DotNet.DesignTools.Server.GlobalObjects.GlobalObject.get_ObjectType() en Microsoft.DotNet.DesignTools.Server.GlobalObjects .ResXGlobalObject.get_Children() en Microsoft.DotNet.DesignTools.Server.GlobalObjects.ProjectResXGlobalObjectProvider.AddResourcesToGlobalCollection(Identificador de cadena, GlobalResourceFileData globalResource) en Microsoft.DotNet.DesignTools.Server.GlobalObjects.ProjectResXGlobalObjectProvider.UpdateGlobalObjectCollection Herramientas de diseño.Servidor.GlobalObjects.GlobalObjectProvider.InitializeOrU pdateProjectResources(GlobalResourceFileData[] recursos) en Microsoft.DotNet.DesignTools.Server.GlobalObjects.GlobalObjectService.InitializeOrUpdateGlobalResources(GlobalResourceFileData[] globalResources) en Microsoft.DotNet.DesignTools.Server.DesignToolsServer.InitializeAsync(ServerInitializationOptions options)
Surgir :
Usamos VS 2019 y apuntamos a .NET 5.0. También actualizamos VS. Actualmente en VS Professional 2019 v16.11.10 (4.8.04084).
He buscado en todas partes pero no puedo encontrar ningún ejemplo de este problema en particular. He intentado casi todo, incluidos algunos consejos sobre problemas similares con "El valor no puede ser nulo", como editar AssemblyInfo.cs y cambiar ComVisible, etc.
Hemos comprobado VS ActivityLog.xml, pero este error no aparece en el registro y hemos intentado encontrar formas de depurarlo, pero hasta ahora ninguno de esos métodos nos ha funcionado. Es difícil para nosotros arreglar el "nombre de propiedad" si VS no nos brinda algunas ideas sobre qué es eso.
Cualquier consejo apreciado como nuestra única otra opción en este momento parece ser
Actualización 2, 9 de marzo de 2022: 16.8.0 -> Al hacer clic en nuestro archivo cs, Winform se carga correctamente. 16.9.4 (y más reciente) -> Está roto
En 16.8 se ve de la siguiente manera:
Actualización 3, 14 de marzo de 2022 Ver stacktrace: gracias a MS, encontramos una manera de obtener un seguimiento más detallado como ahora ve arriba.
Así que aparentemente esto es un error, y ahora se está trabajando en ello: https://github.com/dotnet/winforms/issues/6849
Consulte el hilo de git anterior para ver la solución actual para aquellos que necesitan que funcione lo antes posible.