Исчезающие элементы управления Windows VS2010 - PullRequest
0 голосов
/ 03 января 2012

После перемещения и перестановки элементов управления в Winform при вызове команды Build и / или Rebuild All появляется следующее сообщение об ошибке:

"Произошла ошибка при обработке этой команды. Не удалось загрузить файл илисборка 'LoLock, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null' или одна из ее зависимостей. Система не может найти указанный файл. "

В этот момент все элементы управления исчезают изРазработчик и форма выполнения формы, а также.Я просмотрел файл cs конструктора и запустил diffs для предыдущей рабочей версии и не могу найти ничего плохого.

Это случалось со мной несколько раз и кажется случайным.

Какие-либо подсказки ??

Ответы [ 2 ]

2 голосов
/ 02 февраля 2012

У меня была такая же проблема ... точно ... та же ошибка, за которой следовало исчезновение большинства элементов управления. Элементы управления, которые отсутствуют в конструкторе, являются моими пользовательскими элементами управления. Изменение, которое я сделал перед ошибкой и исчезновением, заключалось в добавлении конструктора к каждому производному классу элементов управления (т.е. моей части элемента управления). До сих пор я отмечал, что Control.Add (...) отсутствует для каждого из ста или около того исчезнувших элементов управления (из автоматически сгенерированного файла Form.designer.cs). Это тот момент, который, похоже, отличается от вашей ситуации, если вы запускаете diff в файле designer.cs между до и после сбоя. У меня определенно отсутствует Add () s.

Пока что мое решение - вручную добавить методы Add () в сгенерированный файл. Однако, очевидно, было бы полезно, если бы был какой-то способ заставить Visual Studio увидеть эту проблему и автоматически добавить элементы управления обратно. Тем не менее, я не могу придумать, каким образом VS мог знать, на данный момент, какие элементы управления добавить к какому родительскому элементу управления.

Например, до ошибки в моем файле designer.cs был определен следующий групповой блок:

     // 
     // groupBox10
     // 
     this.groupBox10.Controls.Add(this.checkBox_FincaDescription_ForRent);
     this.groupBox10.Controls.Add(this.checkBox_FincaDescription_ForSale);
     this.groupBox10.Location = new System.Drawing.Point(883, 67);
     this.groupBox10.Name = "groupBox10";
     this.groupBox10.Size = new System.Drawing.Size(310, 76);
     this.groupBox10.TabIndex = 9;
     this.groupBox10.TabStop = false;
     this.groupBox10.Text = "Property Type";

После НЕУДАЧИ у меня есть следующий код, который был сгенерирован в результате ошибки или просто неспособности дизайнеров управлять моими пользовательскими элементами управления:

     // 
     // groupBox10
     // 
     this.groupBox10.Location = new System.Drawing.Point(883, 67);
     this.groupBox10.Name = "groupBox10";
     this.groupBox10.Size = new System.Drawing.Size(310, 76);
     this.groupBox10.TabIndex = 9;
     this.groupBox10.TabStop = false;
     this.groupBox10.Text = "Property Type";

Это огромная ошибка для меня, так как у меня так много полей, которые нужно исправить вручную (хотя, к счастью, только несколько групповых блоков и хорошая резервная копия). Я читал о том, что с 2005 года у многих людей возникает такая же проблема, и я не могу поверить, что она не была решена.

0 голосов
/ 14 июня 2013

Я также испытал это с пользовательским элементом управления.

Я получил исключение для каждого элемента управления, для которого метод Add был удален из конструктора.

Удивительно, но у меня было несколько панелей,и код «Добавить» для детей этих групп остался в такте.

Мне нужно было реализовать Add только для тех панелей и несколько элементов управления, которых не было в контейнерах, что повезло, поскольку было более 100 элементов управления.

В конструкторе объекта была введена ошибка.пользовательский контроль, и я считаю, что это способствовало цепочке событий, приводящих к повреждению файла конструктора.

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