Я использовал ASP.NET MVC (я даже записал HTTPModule, который позволяет Вам определить маршруты в web.config), и я все еще получаю горький вкус во рту об этом.
Это походит на гигантский шаг назад в организации и производительности. Возможно, не для некоторых, но мне выяснили веб-формы, и они не представляют собой проблемы мне до создания их удобный в сопровождении.
, Что, и я не подтверждаю текущий "ТЕСТ ВСЕ" популярный товар...
Выключите w3svc и удалите все из c: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \
добавлено
в Windows 7
c: \ Users \ {имя пользователя} \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \
на серверах IIS (64-разрядных) это также может произойти. Найдите:
C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root
(замените v4.0.30319 версией платформы, которую вы используете, если она более новая на вашем сервере)
Удаление файлов классов из папки App_Code
и размещение их непосредственно под сайтом решило эту проблему для меня.
Это может произойти, когда одно и то же имя класса указано в нескольких .aspx.cs
файлах, т.е.
когда две страницы создаются с разными именами файлов, но по ошибке имеют одинаковое имя класса.
// file a.aspx
public partial class Test1: System.Web.UI.Page
// file b.aspx
public partial class Test1: System.Web.UI.Page
При сборке веб-приложения это выдает предупреждение, но приложение запускается, однако после публикации приложение больше не работает и выбрасывает исключение, как указано в вопросе OP.
Убедившись, что имена двух классов не пересекаются, проблема решена.