2012-02-16 11 views
16

のVisual Studioで説明ObjectDisposedExceptionを修正するには、私は次のエラーに気づいた:デバッグおよびXAMLファイルを編集する場合は2010

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

はこれをデバッグするには、私はビジュアル・スタジオの別のインスタンスを実行したとし、「デバッグ - >プロセスにアタッチ」例外が表示されたVisual Studioのインスタンス。

プロセスに接続されている開始済みの新しいインスタンスで例外を検出できました。私は次の例外をキャッチします:

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: 

あなたのXAMLでこの例外が発生したことはありますか?

+2

明確にするために、これはVisual Studioのエラーではなく、コードのエラーですか? – mydogisbox

+0

これが発生する場所でXAMLを指定できますか? – Phil

+1

これはVS2010で起こります。これにより、XAMLファイルの編集が遅くなり、VSが応答しなくなることがあります。 ExceptionのみをダブルクリックするとファイルのTOPになります。 – jmogera

答えて

2

XAML美化器を使用していますか? - 私はXAMLをクリーンアップする拡張機能と似たものを持っていました。

+0

Hmm。ありがとう、私はそれを試みます。 – jmogera

1

これは私が.csprojファイルを編集して手動で.xaml.csと.xamlファイルをグループ化したときに起こりました。これを修正するには:

  1. .xamlファイルを別のフォルダに移動しました。
  2. オープンソリューション。
  3. プロジェクトから.xamlを削除しました。
  4. Visual Studioで.xamlファイルを再作成しました。
  5. オリジナルの.xamlの内容を新しく作成した.xamlにコピーしました。

私はもはやそのエラーメッセージを受け取りません。

関連する問題