System.ComponentModel.Design.ExceptionCollection
Я использую элемент управления Ribbon, расположенный на CodePlex, и следуя инструкциям здесь, Как только я добавлю ссылку и правильный код в конструкторе, я получаю эту ошибку, когда пытаюсь просмотреть форму:
Было исключено исключение типа 'System.ComponentModel.Design.ExceptionCollection'
И я не могу понять, что я делаю неправильно. Кто-нибудь работал с этим контролем и знал, как решить эту проблему?
Ответы
Ответ 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)]
Над всеми работами для меня работали