Итак, у нас возникли некоторые проблемы при развертывании приложения ASP.NET MVC на клиентском сайте. В основном, когда мы пытаемся протестировать приложение с локального хоста, мы получаем страшную ошибку парсера Global.asax, указывающую, что он не может загрузить приложение глобально.
Исследования показывают, что в основном существует 4 возможных причины этого исключения:
Решение не было построено. Это явно не тот случай, так как мы можем развернуть его здесь, и он отлично работает на любом компьютере, на котором мы развертываем, и нам пришлось собрать и опубликовать чертову штуку, чтобы развернуть его в любом случае.
Наследование пространства имен Global.asax не соответствует файлу глобального кода приложения. Опять же, мы дважды проверили это, и так как здесь все работает нормально, это не может быть проблемой.
Разное неописуемое зло IIS / VS.NET. В принципе, в IIS или VS.NET что-то становится проблематичным, и веб-сервер не будет правильно работать для этого приложения. Мы выполнили очистку и восстановление, удалили виртуальный каталог и создали его заново, а также выполнили все операции с IIS, которые мы нашли в Интернете. Различные комбинации отказов IIS, перезагрузок сервера, виртуального каталога / восстановления приложения и т. Д.
Проблема с разрешениями на уровне кода. Мы проверили полное доверие к машине / веб-конфигурации в директории фреймворка, установили полное доверие .NET в IIS, мы предоставили всем полный контроль над каталогами, чтобы он ударил молотком безопасности и т. Д. .
Соответствующие детали:
Windows Server 2008 x64
IIS 7, 32-битный совместимый пул приложений (приложение было написано на 32-битной ОС, скомпилированной для любого процессора)
Идентификатор пула приложений установлен в NetworkService
Microsoft ASP.NET MVC 1.0
Развертывание XCopy
Мы развернули еще одно приложение только для чтения. Существенным отличием в этом приложении является использование NHibernate и Log4Net, которые требуют полного доверия.
Кроме того, фактическое имя проекта веб-проекта отличается от пространства имен по умолчанию, однако пространство имен Inherits в файлах Global.asax и Global.asax.cs совпадает, поэтому это не должно вызывать проблем.
У кого-нибудь есть яркие идеи? Мы официально опущены до слабых.
EDIT
Исключение составляет Could not load type <MyDefaultNamespace>.<Global.asax.cs class name>
Фрагмента кода нет, поскольку приложение вообще не загружается. Сбой сразу же, без задержки по первому запросу после установки.
Это то же самое, что все эти люди здесь имеют проблемы с