Отладка и исправление исключения ObjectDisposedException в Visual Studio 2010 - PullRequest
16 голосов
/ 16 февраля 2012

При редактировании файла XAML я заметил следующую ошибку:

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

Для отладки я запустил другой экземпляр Visual Studios и «Debug-> Attach to Process» для экземпляра 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 ]

2 голосов
/ 16 мая 2012

Вы используете украшение XAML? - У меня было нечто подобное с расширением, которое очищает XAML.

1 голос
/ 01 октября 2012

Это случилось со мной, когда я вручную сгруппировал файлы .xaml.cs и .xaml, отредактировав файл .csproj.Чтобы исправить это, я:

  1. Переместил файл .xaml в другую папку.
  2. Открытое решение.
  3. Удален .xaml из проекта.
  4. Повторно созданный файл .xaml в Visual Studio.
  5. Скопировал содержимое моего исходного файла .xaml во вновь созданный файл .xaml.

После выполнения этих действий я больше не получал эту ошибкусообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...