Подтвердить что ты не робот

System.ComponentModel.Design.ExceptionCollection

Я использую элемент управления Ribbon, расположенный на CodePlex, и следуя инструкциям здесь, Как только я добавлю ссылку и правильный код в конструкторе, я получаю эту ошибку, когда пытаюсь просмотреть форму:

Было исключено исключение типа 'System.ComponentModel.Design.ExceptionCollection'

И я не могу понять, что я делаю неправильно. Кто-нибудь работал с этим контролем и знал, как решить эту проблему?

4b9b3361

Ответ 1

Интересно; Я просто столкнулся с тем же вопросом с одной из моих собственных форм; как я нашел ваш актуальный и недавний вопрос.

Вот как я его решил:

  • Откройте два экземпляра Visual Studio. Откройте тот же проект в обоих.
  • В одном случае перейдите в Debug- > Exceptions и включите все опции "Брошенные", чтобы останавливаться при исключительных случайных исключениях. Это остановит отладчик, когда генерируется исключение.
  • В этом же экземпляре выберите Debug- > Attach to Process, выберите devenv.exe.
  • В другом случае откройте форму, чтобы вызвать исключение
  • В любом случае первый экземпляр должен остановиться где-нибудь, что даст более релевантное исключение.

В моем случае это оказалось чем-то, что я должен был бы обусловить:

if (!DesignMode)
{
  // Do something that should only happen at runtime
}

Не забывайте, что выключите все эти "брошенные" варианты позже.

Ответ 2

Так как решение описанное pilotcam не работает для меня, Я взял другое подход:

  • Составьте SVN-фиксацию для файла.
  • Откройте файл "*.designer.cs" формы, отображающей ошибку в исходном представлении.
  • Удалить более крупные блоки объявлений элементов формы.
  • Исправить все ошибки компиляции с помощью ReSharper (то есть убедиться, что на боковом индикаторе ничего больше красного).
  • Сохраните файл. Нет необходимости компилировать.
  • Откройте конструктор форм Windows формы.
  • Если ошибка все еще появляется, верните SVN, чтобы вернуться в исходное состояние.
  • Повторите шаги с 2 по 7, пока ошибка больше не появится.
  • Теперь вы окружили ошибочный дочерний элемент управления, который вызывает ошибку.
  • Повторите шаги с 2 по 7 с меньшим количеством элементов управления, которые вы удаляете, пока не останется только один элемент управления.

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

Вы можете изолировать пользовательский элемент управления в новой форме для дальнейшего изучения. В моем случае это было довольно легко; Я помещал проверки в режиме разработки вокруг большинства функций внутри моего элемента управления, чтобы убедиться, что код запускается только в том случае, если элемент управления не находится в режиме разработки.

Это зафиксировало мою ошибку.

Ответ 3

У меня была такая же проблема, и ни один из вышеперечисленных ответов не решил проблему.

В конце концов, для меня работало освобождение папки "bin" и перестройки.

Ответ 4

Обходной путь для меня был:

  • Щелкните правой кнопкой мыши форму и "Просмотреть код"
  • Сохраните код, загруженный в редактор, а затем попытайтесь снова просмотреть конструктор.

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

Ответ 5

Позвольте мне добавить еще два случая, когда такое исключение может случиться, а также когда управление пытается сделать что-то, что недопустимо в режиме разработки:

  • Когда невозможно скомпилировать пользовательский элемент управления.
  • Когда код разработчика содержит несколько похожих (или идентичных) строк с инициализацией одних и тех же элементов управления или свойств, это может легко произойти при слиянии.

Все эти случаи производят одно и то же чрезвычайно значимое сообщение об ошибке, и в этом случае две отладки Visual Studio не помогут, поэтому я просто закончил с дешифровкой кода дизайнера.

Ответ 6

[ReadOnly(true)]

[Browsable(false)]

Над всеми работами для меня работали