2012-02-16 8 views
16

Quando si modifica un file XAML ho notato il seguente errore:debug e fissaggio ObjectDisposedException in Visual Studio 2010

System.ObjectDisposedException occurred 
    Message=Cannot access a disposed object. 
Object name: 'FileCodeModel'. 

eseguire il debug di questo mi sono imbattuto un'altra istanza di Visual Studio e "Debug-> Connetti a processo" al istanza di Visual Studio in cui è stata mostrata l'eccezione.

Sono riuscito a rilevare l'eccezione nelle nuove istanze avviate allegate al processo. Prendo la seguente eccezione:

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: 

Chiunque mai imbattersi in questa eccezione nel vostro XAML, e che cosa fare per risolvere il problema.

+2

Per chiarire, questo è un errore in Visual Studio, non un errore nel codice? – mydogisbox

+0

Sei in grado di fornire XAML dove questo accade? – Phil

+1

Giusto .. succede in VS2010. Ciò causa il rallentamento della modifica del file XAML e VS non risponde a volte. Fare doppio clic sull'eccezione porta solo a TOP del file e nient'altro. – jmogera

risposta

2

Stai eseguendo un beautifier XAML? - Ho avuto qualcosa di simile con un'estensione che pulisce XAML.

+0

Hmm. Grazie, ci proverò. – jmogera

1

Questo è successo a me quando ho raggruppato manualmente un file .xaml.cs e .xaml modificando il file .csproj. Per risolvere questo problema:

  1. Spostato il file .xaml in un'altra cartella.
  2. Soluzione aperta.
  3. Rimosso .xaml dal progetto.
  4. File .xaml ricreato in Visual Studio.
  5. Copiato il contenuto della mia .xaml originale nel file .xaml appena creato.

Dopo aver seguito questi passaggi non ho più ricevuto questo messaggio di errore.