Ошибка в дизайнере форм после добавления изображения в ImageList

У меня проблема. В смешанном (/ clr) проекте WindowsForm VC++/CLR в Visual Studio 2012 после добавления небольшого изображения в элемент управления списком изображений (ImageList) во время разработки, когда проект снова открывается позже и открывается Конструктор форм, появляется следующее сообщение:

"Ошибка синтаксического анализатора C++ CodeDOM: строка: 387, столбец: 18 --- неизвестный тип". Убедитесь, что ссылка на сборку, содержащую этот тип, указана. Если этот тип является частью вашего проекта разработки, убедитесь, что проект был успешно построен ".

Строка: this->components = (gcnew System::ComponentModel::Container());

Я закрываю окно с сообщением, снова открываю нужный дизайнер форм, и все выглядит правильно. Кроме того, открыть конструктор иногда не удается или занимает слишком много времени, чтобы открыть. Формы не работают, только если они появляются, когда вы загружаете проект, но тогда это хорошо видно. Я волнуюсь, что в конечном итоге это вызовет серьезную ошибку. Списки изображений находятся в проекте с самого начала, но долгое время не менялись, эта проблема теперь появляется только после того, как дезертир изменился, только добавив изображение в список. Я вернулся к предыдущей версии, а затем оставил функцию для дальнейшей работы. Почему это происходит? Эта проблема сдерживает множество изменений визуального дизайна.

1 ответ

В Visual Studio есть опция под Сервис -> Параметры -> Winforms Desinger, которая называется "Оптимизированная генерация кода". Когда он включен (что, по-видимому, по умолчанию), конструктор намного более ненадежен и выдает такие ошибки. Изменение в false, кажется, решает проблему (или, по крайней мере, для меня):

введите описание изображения здесь

Другие вопросы по тегам