Какие вещи запускают Visual Studio для восстановления файла * .Designer.cs? - PullRequest
3 голосов
/ 05 апреля 2011

Некоторые проблемы с инициализацией формы У меня были обнаружены значения перезаписи файла .Designer.cs, которые я инициализировал в конструкторе пользовательского элемента управления.

Я разработал компонент (MyUserControl) и вставил его в форму (MainForm). Позже я добавил некоторые инициализации членов в конструктор MyUserControl, но код, который был в MainForm.Designer.cs для InitializeComponent(), устарел, и код позже в этих функциях переписывал мои новые инициализации из конструктора, вызванного ранее в этой функции .

Так что, по сути, что-то, что я сделал, вызвало переписывание Mainform.Designer.cs, но другие действия не сделали.

Есть ли хороший справочник, который описывает, когда дизайнер касается файлов * .Designer.cs? (Или это простое правило?) Джаред Пар указал мне на класс DesignerSerializationVisibilityAttribute , но, похоже, это одно дерево в лесу?

1 Ответ

5 голосов
/ 05 апреля 2011

Вы специально стали жертвой наличия кода для старой версии вашего UserControl, все еще встроенного в метод InitializeComponent () формы. Если бы вы удалили элемент управления из формы перед изменением кода элемента управления, у вас не было бы проблемы. Сняв его потом и положив обратно, он бы тоже исправился.

Да, это простое правило. InitializeComponent () создается заново каждый раз, когда вы добавляете или удаляете элемент управления из формы.

...