Я борюсь с этим.Почему исключение в DocData.LoadDocData не препятствует открытию представления?
У меня есть пакет Visual Studio, который регистрирует фабрику настраиваемых редакторов для создания пользовательских данных doc и пользовательского представления doc.
В DocData в методе LoadDocData, когда я создаю документ, если файл, открытый, поврежден, возникает исключение InvalidOperationException.
Проблема заключается в том, что я не хочу, чтобы соответствующий вид был открыт, но Visual Studio показывает сообщение об ошибке, но оно все еще открывает представление.
Что здесь не так?
protected override int LoadDocData(string fileName, bool isReload)
{
// Clear errors
this.DocumentData.ClearErrorListItems();
// Catch errors
try
{
base.LoadDocData(fileName, isReload); // InvalidOperationException raised here
}
catch (Exception)
{
if (this.DocumentData.ErrorListProvider != null)
{
this.DocumentData.ErrorListProvider.ShowErrorOnIdle();
}
throw;
}
return VSConstants.S_OK;
}
Спасибо за любую помощь!
Не могли бы вы предоставить полную демонстрационную версию Via OneDrive. Мы воспроизведем вашу проблему на нашей стороне. –
Я нашел проблему. Проблема заключалась в том, что в DocData.LoadDocData существует цикл, который закрывает фреймы для представлений doc, которые вводятся в ModelingDocView, но мое представление не было подклассом ModelingDocView. –
Вы можете отправить ответ и пометить его как ответ. –