Невозможно привести объект типа 'X' к типу 'X' - ASP.NET - PullRequest
5 голосов
/ 04 февраля 2009

В настоящее время я работаю с проектом веб-сайта ASP.NET в Visual Studio 2008, и каждый раз, когда я изменяю код за страницей для пользовательского элемента управления и просматриваю страницу, использующую пользовательский контроль, я получаю следующую ошибку:

Невозможно привести объект типа «ASP.basepage_master» для ввода 'ASP.basepage_master'.

Я должен перестроить все свое решение, чтобы устранить эту ошибку. Кто-нибудь еще сталкивался с этой ошибкой и знает, как ее устранить?

Ответы [ 5 ]

8 голосов
/ 10 февраля 2009

Удаление ваших временных файлов ASP.NET (все в C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files) делает это исчезающим ... на некоторое время.

2 голосов
/ 05 февраля 2009

Это имеет смысл, насколько я понимаю.

Вы вносите изменения в код позади. Чтобы эти изменения вступили в силу, вам нужно построить этот проект, чтобы выделенный код можно было скомпилировать в файл DLL для этого проекта. Когда вы изменяете код и не собираете проект, у вас есть две версии этой страницы, и ASP.Net не может разрешить две версии. Поэтому, когда вы компилируете класс, изменения сверяются в DLL.

0 голосов
/ 12 августа 2010
0 голосов
/ 19 января 2010

Eurekaaa !! Понял ... Этот работает ...

Когда вы бросаете пользовательский контроль или загружаете его с помощью метода LoadControl, используйте «тильду» в его пути. Например. this.LoadControl("~/MyUserControl.ascx");

То же самое относится к элементу управления, отброшенному на странице. Добавьте тильду в декларативный путь пользовательского элемента управления на странице aspx.

Мы можем назвать это ошибкой в ​​VS2005 и исправлено в VS 2008.

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

0 голосов
/ 21 апреля 2009

Если я остановлю и перезапущу IIS на своей локальной рабочей станции, я смогу решить эту проблему.

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