Designer.cs поврежден после внесения изменений в веб-страницу в Visual Studio 2010 - PullRequest
1 голос
/ 22 февраля 2012

Visual Studio не работает нормально, когда я делаю изменения в файле ASPX. Вносит изменения в файл designer.cs. Эти изменения означают, что я не могу получить доступ ни к одному из своих элементов управления по их идентификатору в коде файла.

Когда я возвращаю изменения (используя SVN), которые были сделаны за моей спиной, в файле designer.cs, моя сборка снова завершается успешно, и все работает нормально.

Я вижу, что Visual Studio удаляет много строк в файле конструктора.

Я читал некоторые подобные проблемы в Интернете, но не могу найти хорошее решение для этого.

Кто-нибудь из вас испытывал такие же проблемы с Visual Studio и может помочь мне решить эту проблему?

Обновление: я обнаружил, что Visual Studio добавляет эту строку в файл designer.cs:

 protected global::System.Web.UI.WebControls.UpdatePanel UpdatePanel1;

Но это должно быть:

 protected global::System.Web.UI.UpdatePanel UpdatePanel1;

Когда я делаю это изменение вручную в файле designer.cs, оно работает. Но каждый раз, когда я изменяю файл aspx, Visual Studio снова создает неправильную ссылку.

Ответы [ 3 ]

4 голосов
/ 17 января 2014

У меня такая же проблема.Мой обходной путь - переместить определение из файла конструктора в код, стоящий за файлом, и правильно определить его как: Protected WithEvents UpdatePanel1 As Global.System.Web.UI.UpdatePanel

вместо того, чтобы позволить конструктору перезаписывать его неправильно, как Protected WithEvents UpdatePanel1 As Global.System.Web.UI.WebControls.UpdatePanel

, используя imvs2013 vb.net asp приложение для веб-форм.

Я также видел предложения изменить целевую платформу в файле web.config на 4.0 (у меня не сработало, я нацелился на 4.5, получал проблему собе цели)

и я также увидел предложение использовать тег Register, например: <%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web"%> в верхней части страницы.это помогло устранить «ошибку», возникавшую при тестировании, однако при этом появилось множество «предупреждений» для всех моих тегов asp.

3 голосов
/ 30 июня 2014

Мой офис страдает от этой проблемы в Visual Studio 2013. Мы использовали следующий обходной путь:

  1. Щелкните правой кнопкой мыши проект и выберите Properties.
  2. Вкл.на вкладке Application измените версию Target framework и сохраните проект.
  3. Повторите шаги 1 и 2, чтобы установить целевую платформу обратно на нужную.
  4. Сохраните .aspx файл снова.

Это будет работать 100% времени, но мы обнаружили, что он испортил некоторые из наших настроек web.config.

Мы сейчас используем следующий обходной путь, который также, кажется, работает и не вносит каких-либо серьезных изменений в файлы конфигурации проекта:

  1. Щелкните правой кнопкой мыши проект и выберите Unload Project.
  2. Щелкните правой кнопкой мышипроект и выберите Reload Project.
  3. Сохраните файл .aspx еще раз.
1 голос
/ 22 февраля 2012

Убедитесь, что имя класса файла cs совпадает с файлом designer.cs, и проверьте, что атрибут Inherits страницы в файле aspx совпадает.Также проверьте, есть ли в вашем проекте какой-либо класс с тем же именем, что и имя класса вашей страницы, также я хотел бы знать ошибку, которая появляется, когда вы делаете какие-либо обновления на странице aspx.

...