Моя проблема: У меня есть пользовательский элемент управления UserControl в моем проекте Windows Forms. Я прекрасно могу спроектировать это в дизайнере. Но как только я хочу отредактировать форму, содержащую элемент управления, Visual Studio 2010 дает сбой.
Насколько я мог видеть, Конструктор и событие загрузки элемента управления выполняются при загрузке формы.
Я попробовал использовал другой экземпляр VS2010 для отладки конструктора, но не смог найти место, где происходит выполнение.
Сначала моя проблема, казалось, заключалась в том, что для объекта Threading.Timer
, который я использую для инициализация моих объектов (т.е. загрузка значений из базы данных и т. д. (при ошибке попробуйте еще раз позже подход;))), функция обратного вызова была выполнена дизайнером, поэтому он попытался получить доступ к объектам, к которым у него не было доступа, пока в режиме проектирования.
Инициализация объекта Threading.Timer
находится в событии загрузки. Но даже после того, как я прокомментировал все в событии загрузки (кроме блока try catch и Debugger.Break ()
Call для наличия точки останова во втором экземпляре VS2010 для отладки дизайнера) Visual Studio продолжает сбой, поскольку как только я захочу отредактировать форму, содержащую элемент управления, в режиме разработки.
Я попробовал несколько шагов, которые нашел здесь, без ответа на мою проблему: Пользовательский элемент управления всегда дает сбой в Visual Studio
Так что даже если у дизайнера есть ничего не делать при разборе события загрузки или конструктора. Он по-прежнему вылетает.
Есть ли у кого-нибудь идеи, что я могу сделать, чтобы предотвратить сбой Visual Studio и правильное отображение пользовательского элемента управления в конструкторе форм?
Проект, содержащий пользовательский элемент управления, также ссылается на некоторые пользовательские библиотеки и проект библиотеки. Не знаю, может ли проблема быть связана с этим.