В последнее время, «из ниоткуда», я получаю исключение при попытке создать ранее полностью открываемую форму в 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.
Я не буду удалять свой вопрос здесь, так как он может служить другим (и мне) в качестве дополнительной ссылки при поиске начального сообщения об ошибке, которое я получил.