wpf - Depuración y corrección de ObjectDisposedException en Visual Studio 2010
visual-studio-2010 debugging (2)
¿Está ejecutando un embellecedor XAML? - He tenido algo similar con una extensión que limpia XAML.
Al editar un archivo XAML noté el siguiente error:
System.ObjectDisposedException occurred
Message=Cannot access a disposed object.
Object name: ''FileCodeModel''.
Para solucionar esto, ejecuté otra instancia de Visual Studios y "Debug-> Attach to Process" a la instancia de Visual Studio donde se mostró la excepción.
Pude detectar la excepción en las nuevas instancias que se iniciaron y que se adjuntan al proceso. Capto la siguiente excepción:
System.ObjectDisposedException occurred
Message=Cannot access a disposed object.
Object name: ''FileCodeModel''.
Source=Microsoft.VisualStudio.CSharp.Services.Language
ObjectName=FileCodeModel
StackTrace:
at Microsoft.VisualStudio.CSharp.Services.Language.CodeModel.CFileCodeModel.GetCompilation(Boolean fBlockForParses)
at Microsoft.VisualStudio.CSharp.Services.Language.CodeModel.CPartialTypeCollection.EnumerateParts()
at Microsoft.VisualStudio.CSharp.Services.Language.CodeModel.CPartialTypeCollection.get_Count()
at Microsoft.VisualStudio.CSharp.Services.Language.CodeModel.CSlowSnapshot..ctor(CodeElements collection)
at Microsoft.VisualStudio.CSharp.Services.Language.CodeModel.CPartialTypeCollection.CreateSnapshot()
at Microsoft.VisualStudio.CSharp.Services.Language.CodeModel.CCollectionBase.GetEnumerator()
at EnvDTE.CodeElements.GetEnumerator()
at MS.Internal.VSSymbols.SymbolProvider.GetProperties(String fullName, Boolean isTypeDefinition, Boolean useCodeModel)
at Microsoft.Xaml.Symbols.IXamlSymbols.GetProperties(String typeName, Boolean isTypeDefinition, Boolean useCodeModel)
at MS.Internal.Design.Markup.HostedType.BuildProperties(Boolean useCodeModel)
InnerException:
Cualquiera se ha encontrado con esta excepción en tu XAML, y qué haces para solucionarlo.
Esto me sucedió cuando agrupé manualmente un archivo .xaml.cs y .xaml al editar el archivo .csproj. Para arreglar esto yo:
- Se movió el archivo .xaml a otra carpeta.
- Solución abierta.
- Se eliminó .xaml del proyecto.
- Recreado el archivo .xaml en Visual Studio.
- Copié el contenido de mi .xaml original en el .xaml recién creado.
Después de seguir estos pasos ya no recibí ese mensaje de error.