Designer.cs не обновляется при добавлении новых элементов управления в .aspx - PullRequest
21 голосов
/ 28 июня 2011

Я добавил новый элемент управления в свои файлы aspx и заметил, что не только новый элемент управления не был добавлен в файл конструктора, но также отсутствовал ряд других элементов управления, которые были добавлены другими членами команды. Я попытался удалить файл designer.cs и использовать «Преобразовать в веб-приложение», но безуспешно. Некоторые другие вещи, которые я пробовал, исключали aspx из проекта, строили, а затем включали безуспешно. Я также вручную ввел элемент управления, который отсутствовал в конструкторе, в конструктор. Когда я запускаю после этого, появляется сообщение о том, что элемент управления не определен, хотя на самом деле он есть, и что я должен проверить, не пропустил ли я директиву.

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

Есть идеи?

Ответы [ 12 ]

22 голосов
/ 15 сентября 2016

Попробуйте это

1.- Изменить CodeBehind="Name.aspx.cs" на CodeFile ="Name.aspx.cs"

2.- Построить

3.- Изменить CodeFile ="Name.aspx.cs" до CodeBehind ="Name.aspx.cs"

14 голосов
/ 07 марта 2012

Я страдал от этой проблемы в моей работе.

Самое верное, что вы регенерируете свой файл .designer.cs, и здесь - это решение:

  • Найдите поврежденный файл aspx.designer.cs в обозревателе решений
  • Удалите только файл designer.cs из своего проекта
  • Щелкните правой кнопкой мыши по вашему основному файлу aspx и выберите «Преобразовать в веб-приложение» .
9 голосов
/ 28 июня 2011

Закройте Visual Studio, затем удалите временные файлы ASP.NET из C:\Windows\Microsoft.Net\Framework\Your_.Net_Version\ProjectName Удалите папку ProjectName и перезапустите Visual Studio.У меня была похожая проблема некоторое время назад, и она была решена с помощью этих действий.

Если вы используете IIS, вам может потребоваться остановить сервер / сайт, чтобы иметь возможность удалять временные файлы.

5 голосов
/ 05 августа 2015

Для замены файла конструктора в VS 2013:

  1. Удалить старый файл * .designer.cs
  2. выберите файл * .aspx
  3. Выберите «Преобразовать в веб-приложение» в верхней раскрывающейся панели проекта
3 голосов
/ 09 августа 2011

Одна простая / глупая ошибка, которая также приводит к подобным симптомам, это если вы копируете файлы aspx и aspx.cs и переименовываете их, но не обновляете ссылки внутри файла.

Я сталкивался с этим вопросом, пытаясь найти каталог temp asp.net, но очистка, которая не помогла. Затем я понял, что не обновлял CodeFile="Page.ascx.cs" после того, как скопировал файлы для создания новой измененной версии страницы. Затем я пытался добавить элемент управления и ссылаться на него в PageModified.ascx.cs, но продолжал говорить, что его не существует.

2 голосов
/ 18 июня 2014

Я сделал это в VS2012:

  1. Откройте страницу .aspx.designer.cs. Найдите объявление элемента управления. один и тот же тип управления (т.е. LinkButton)
  2. Скопируйте его в конец файла (до конца фигурной скобки класса)
  3. Переименуйте переменную элемента управления, чтобы она соответствовала имени вашего элемента управления.

Вот и все.

1 голос
/ 12 декабря 2018

Для меня решение было:

Переведите свою страницу в режим дизайна и щелкните правой кнопкой мыши / обновите.Это синхронизирует элементы управления с designer.cs.Перед этим убедитесь, что файл designer.cs закрыт.

Источник

1 голос
/ 08 июня 2015

Мне удалось решить проблему, только вручную добавив декларацию элемента управления в коде файла.Каждый раз, когда я пытался восстановить файл design.cs, VS 2013 записывал одни и те же строки без пропущенного элемента управления.

Объявление необходимо добавлять в коде, а не в design.cs, посколькубудет удаляться каждый раз при изменении .aspx.

Просто добавьте объявление, как вы делали бы для любой другой переменной, что-то вроде этого:

protected MyNameSpace.MyControl ControlName;
1 голос
/ 14 июня 2014

Иногда в html могут быть ошибки, например, два элемента управления, имеющие одинаковый идентификатор.Также будьте осторожны с тегами div и span.Это мешает дизайнеру получать обновления.Для всего этого проверьте предупреждения в списке ошибок и исправьте их.Вы готовы к работе.Это решило мою проблему.

1 голос
/ 09 мая 2014

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

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