Ошибка «Определение манифеста обнаруженной сборки не соответствует ссылке на сборку» в WinForms Designer - PullRequest
0 голосов
/ 03 июля 2018

В последнее время, «из ниоткуда», я получаю исключение при попытке создать ранее полностью открываемую форму в Visual Studio 2017:

Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Я также получаю одну или несколько ошибок стека вызовов:

at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object value)
at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkPropertyDescriptor.SetValue(Object component, Object value)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement) 

Я действительно запутался, так как другие диалоги работают отлично, и ошибочный диалог работал до вчерашнего дня.

Компиляция и запуск приложения успешно работают.

Попробовав решения аналогичного вопроса , мне все еще не везет в решении этого вопроса.

Мой вопрос:

Есть идеи, как аналитически перейти к основной причине этой ошибки?

Обновление 1:

Я не (только) ищу прямое решение, но желательно какой-то надежный способ выяснить причину исключения.

Из трассировки стека я понятия не имею, что даже может вызвать.

Обновление 2, решение:

Благодаря вашим комментариям я смог решить эту проблему, запустив второй экземпляр Visual Studio и прикрепив его к первому , таким образом отладив первый.

Затем я включил параметры исключения для всех исключений CLR (во втором экземпляре VS) и открыл ошибочную форму в конструкторе Windows Forms в первом экземпляре VS.

Затем отладчик остановился в том месте, где произошло фактическое исключение FileLoadException.

Затем я смог решить ее, удалив часть своего собственного кода регистрации в базовом классе управления, который, кажется, работает некорректно при запуске из VS WinForms Designer.

Я не буду удалять свой вопрос здесь, так как он может служить другим (и мне) в качестве дополнительной ссылки при поиске начального сообщения об ошибке, которое я получил.

...