Ответ 1
Ни один из других ответов не работал у меня. Я исправил свою ошибку, изменив путь вывода веб-проекта. У меня было задано значение bin\debug, но веб-проект не работает, если выходному пути не присвоено просто "bin"
Я получаю следующую ошибку на одном из наших производственных серверов. Не знаете, почему он работает на сервере DEV?
Ошибка ParserОписание. При анализе ресурса, необходимого для обслуживания этого запроса, произошла ошибка. Ознакомьтесь с приведенными ниже подробными сведениями об ошибке синтаксического анализа и соответствующим образом измените исходный файл.
Сообщение об ошибке Parser: не удалось загрузить тип 'TestMvcApplication.MvcApplication'.
Ошибка источника:
Строка 1: <% @Application Codebehind = "Global.asax.cs" Inherits = "TestMvcApplication.MvcApplication" Язык = "С#" % >
Исходный файл:/global.asax Линия: 1
Не уверен, что кто-то наткнулся на эту ошибку раньше и как она была решена, но я дошел до конца. Любая помощь будет оценена.
Мне также нужно упомянуть, что это опубликованный код, поэтому все скомпилировано. Может быть что-то не так с моими настройками компилятора?
Ни один из других ответов не работал у меня. Я исправил свою ошибку, изменив путь вывода веб-проекта. У меня было задано значение bin\debug, но веб-проект не работает, если выходному пути не присвоено просто "bin"
У меня это было пару раз. Это особенно расстраивает, так как он находится прямо на летучей мыши, и сообщение об ошибке не содержит информации о том, что может быть проблемой.
Чтобы исправить это, щелкните правой кнопкой мыши название вашего проекта, в этом случае "TestMvcApplication" и нажмите построить.
Это заставляет компилировать код перед его запуском. Не спрашивайте меня, почему, но это было решение в 100% случаев для меня.
Я обнаружил, что, когда вы вынуждены использовать Configuration Manager для запуска под управлением x86 или чего-либо иного, кроме стандартного проекта "из коробки", среда IDE создает кучу подкаталогов под папкой bin для сети проект.
Как только это произойдет, если сервер Cassini запущен, тогда проект не работает должным образом.
Я исправил его, перейдя в свойства веб-проекта → Настройки сборки и изменив путь вывода на bin\
Затем перестройте и все будет работать так, как должно.
После долгого серьезного взгляда я столкнулся с настоящей проблемой.
Абоненты были повреждены FTP-клиентом, который я использовал для загрузки файлов в размещенную среду.
Я изменил свой FTP-клиент, и все работает по назначению.
У меня была та же проблема: моя была потому, что у веб-проекта была платформа для платформы x86. Я работал на 64-битной машине; другие проекты в решении были установлены на 64-битные.
Чтобы проверить свои настройки, щелкните правой кнопкой мыши проект и выберите "Свойства". На вкладке "Сборка" проверьте значение "Target Platform".
Также проверьте конфигурацию сборки решения (меню "Сборка" > "Диспетчер конфигурации" ), чтобы проверить, что все ваши проекты построены на одной платформе.
В обоих случаях убедитесь, что вы проверяете настройки как для режима отладки, так и для выпуска - в противном случае вы получите его работу на вашем компьютере, но не при его развертывании!
Я пробовал все вышеперечисленные решения, но не повезло. Добавление строки <add assembly="*" />
в web.config исправил ее для меня. (Вы также можете добавить в файл machine.config или root web.config соответствующей версии .NET Framework, я не пробовал его) Благодаря поддержке MS для решения.
У меня было то, что было похоже на ту же ошибку. Я пробовал много предложений со многих страниц только для того, чтобы узнать, что проблема была в том, что у меня был веб-сайт с неправильной версией .Net
Независимо от того, сколько повторных компиляций или людей говорят "проблема конфигурации", никто не указал, что необходимо проверить версию .net.
IT происходит со мной, когда я переименую свой проект/решение. Перейдите в папку проекта в Windows Explorer (выйдите из VS). Найдите и откройте файл Global (возможно, вы найдете 2 файла, откройте их, не имеющих расширение ".asax.cs" ) и отредактируйте строку ошибки с правильным путем. Удачи!
Я испытал одну и ту же проблему пару дней назад - насколько я могу судить, это была проблема с 64-разрядным IIS, на котором запущено 32-битное веб-приложение. Мы изменили наш производственный сервер на 32-битный, и этот вопрос исчез.
Убедитесь, что пространство имен по умолчанию в свойствах веб-проекта совпадает с пространством имен в файле Global.asax.cs. Я изменил пространство имен по умолчанию, чтобы сделать его промежуточным пространством, изменив его, исправил эту проблему для меня.
Единственный раз, когда я это испытывал, было то, что среда MVC не была установлена на сервере. Это может быть так?
В разделе "Недостающие страницы" в Views\Web.config также может быть ошибка.
В целях полноты я включил в себя мою проблему и как я ее решил:
Если вы похожи на меня и имеете httphandlers через web.config, и у вас есть перенаправления из вашего global.asax.cs(возможно, в Session_Start()), как в моем случае, вы получаете эту ошибку, если ваш проект запуска не имеет определенной ссылки который указывает на цель, где ваш httphandler указывает! (но вы не получите ошибки сборки, просто ошибки времени выполнения)
Итак:
Приветствия.
У меня была такая же ошибка, и ни одно из ваших решений не помогло. Я думаю, что моя проблема была просто названием, которое я выбрал для проекта. Я назвал свой "интерфейс" проекта, который, когда я получил ошибку синтаксического анализа, сказал, что он не может загрузить:
Строка 1: <% @Application Codebehind = "Global.asax.cs" Inherits = " @interface.MvcApplication" Язык = "С#" % >
Если по какой-то причине появился знак "@". Я предполагаю, что слово "интерфейс" зарезервировано для чего-то еще, и он добавил символ @, но это явно что-то сломало. Я удалил проект и сделал новый с другим именем без проблем.
Здесь еще один:
Я надеюсь, что кто-то поможет где-то:)
У меня было много проблем и ошибок для решения, некоторые из вышеперечисленных ответов помогли, но какой последний трюк, который заставил его работать для меня, - это: перейдите в свой проект и нажмите свойства.
Перейдите на вкладку "Пакет/публикация в Интернете" и убедитесь, что для конфигурации установлено значение "Отпуск" и "Платформа для всех платформ".
В последний раз убедитесь, что "Элементы для развертывания (применимы ко всем методам развертывания)" установлены в "Все файлы в этой папке проекта"
Затем он работал отлично для меня.
Эта проблема сложна, потому что легко путать основную причину с любой непосредственной причиной.
В моем случае непосредственной причиной было то, что решение настроено на использование NuGet Package Restore, но сервер не был подключен к Интернету, поэтому NuGet не смог загрузить зависимости при создании в первый раз.
Я считаю, что основная причина заключается в том, что решение не может корректно разрешать зависимости. Это может быть неправильная конфигурация пути, неправильная версия сборки или конфликтующие сборки или частичное развертывание. Но во всех случаях ошибка просто говорит о том, что он не может найти тип, указанный в global.asax, потому что он не может его построить.
Убедитесь, что пространство имен в файле Global.asax
соответствует значению в файле Global.cs
i.e.
Global.asax: Some.Website.Webapplication
Global.cs: Some.Website
(минус "WebApplication" )
Моя проблема была решена, когда я преобразовал в IIS физическую папку, содержащую файлы в приложение. Щелкните правой кнопкой мыши > конвертировать в приложение.
Я попробовал большинство вышеупомянутых ответов, и они не сработали. По какой-то причине просто закрытие и повторное открытие VS устранили проблему для меня.
Для меня это было потому, что я временно исключил файл из проекта. Я просто включил его обратно в проект, а затем он работал.
В моем случае ссылка на System.Web.MVC отсутствовала в моем проекте. Но после добавления ссылок проблема была такой же, поэтому я проверял свойства моей папки Bin, это было ReadOnly. Просто после того, как он был доступен для записи, все работает нормально.
Я получал ошибку, потому что я развернул приложение как виртуальный каталог, и я получал ошибку парсера "не удалось загрузить тип", после чего я развернул приложение в качестве веб-сайта, и я не получал эту ошибку снова.
Ни один из других ответов не разрешил мне эту ошибку.
Я нашел решение, которое сработало, что я предлагаю для тех, кто в той же ситуации:
Я никогда действительно не добирался до сути того, что вызывало это для меня. Думаю, где-то я, должно быть, пропустил некоторые файлы. Я получил сообщение об ошибке после публикации на новом сервере. В конце концов я скопировал сайт с рабочего сайта. Затем сайт работал, а затем публиковал новый сервер.
Выполните следующие действия:
Для меня у меня была DLL, включенная в мой проект, который должен был запускаться в 32-разрядной среде.
Сервер был настроен для запуска веб-сайта в 32-битном режиме, но я не смог запустить приложение на своей 64-разрядной машине, потому что папка localhost
не была указана для запуска в 32-разрядном режиме.
У меня была аналогичная проблема.
Причина в том, что я менял файл .aspx.c и должен был выполнить чистую перестройку. После этого все сработало.
Моя проблема заключалась в том, что я пытался создать веб-приложение ASPX в подпапке папки, в которой уже был файл web.config, и
Итак, я открыл родительскую папку в Visual Studio в качестве веб-сайта (Open > Web Site). Я смог добавить новую страницу ASPX для статьи, в которой не было проблем с разбором/загрузкой.
Для меня проблема заключалась только в определенных (длинных) ссылках на веб-сайте и была отслежена до URLScan, имеющего стандартную конфигурацию ограничения длины URL-адреса 260.
У меня была такая же проблема. Попробуйте:
Щелкните правой кнопкой мыши по проекту и выберите "Очистить", затем щелкните его правой кнопкой мыши и выберите "Перестроить" и запустите проект, чтобы убедиться, что он сработал.