Заставить WinForms восстановить файлы .designer.cs - PullRequest
5 голосов
/ 23 сентября 2011

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

В рамках усилий по их очистке мы добавили атрибуты в свойства и собираемся удалить лишние.

То, что мы хотели бы сделать, это очистить сгенерированный код от дизайнера winforms (файлы xxxxxx.designer.cs и xxxxxx.designer.vb). Некоторые из свойств - это прямое удаление, для которого мы смогли использовать Grep и Sed для удаления ошибочных строк, но мы ищем способ заставить Visual Studio (или что-то еще) восстановить файлы.

Поскольку у нас есть сотни форм, невозможно вручную открыть каждую из них и изменить их, чтобы сделать это.

Кто-нибудь знает способ сделать это?

Edit:

Чтобы уточнить, я имею в виду не немедленное удаление свойств, а применение к ним атрибута DesignerSerializationVisibity(), чтобы дизайнер не писал их. Затем, как только мы обновим все файлы дизайнеров, мы можем удалить свойства.

См. Также:

Автоматическое восстановление файлов конструктора

1 Ответ

4 голосов
/ 23 сентября 2011

Невозможно, вы не можете заставить дизайнер анализировать InitializeComponent (), когда он содержит назначения свойств для свойств, которые вы удалили или переименовали.Он должен проанализировать его, прежде чем сможет восстановить код.

Единственный реальный подход - сначала применить атрибут [DesignerSerializationVisibility] к старому свойству, чтобы он больше не записывал назначение свойства.Затем загрузите каждую форму и сделайте тривиальное редактирование, чтобы она регенерировала InitializeComponent (), теперь без назначения свойства.Тогда вы можете удалить их.Непосредственное редактирование метода может быть быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...