Ошибка парсера: ошибка сервера в приложении"/"
Я получаю следующую ошибку: "произошла ошибка при разборе ресурса, требуемого для обслуживания этого запроса. Пожалуйста, просмотрите следующие сведения об ошибке разбора и измените исходный файл."
Parser Error Message: `Could not load type 'nadeem.MvcApplication'`.
Source Error: Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="nadeem.MvcApplication" Language="C#" %>
19 ответов
щелкните правой кнопкой мыши и нажмите кнопку View Markup
. Вы увидите атрибут Inherits="nadeem.MvcApplication"
. Это означает, что ваш Global.asax
файл пытается наследовать от типа nadeem.MvcApplication
.
теперь дважды щелкните свой Global.asax
файл и посмотреть, какое имя класса указано в вашем это. Это должно выглядеть примерно так:
namespace nadeem
{
public class MvcApplication: System.Web.HttpApplication
{
....
если это не так, то вы получите сообщение об ошибке вы получили. Значение в вашего Global.asax
файл должен соответствовать тип, производный от System.Web.HttpApplication
.
У меня была такая же проблема, когда я загрузил источник проекта в два места. Проблема оказалась, загрузив источник, он изменил местоположение виртуального каталога сайтов, и поскольку я не перестроил второй источник, там не было DLL.
- чтобы устранить эту проблему, откройте проект, который вы хотите построить, и перейдите к свойства веб-сайтов (меню проекта)
- создать виртуальный каталог проект.
- перестроить проект.
основные
поскольку обычно вы создаете проект MVC глобальный.разметка asax имеет что-то вроде следующего:
<%@ Application Codebehind="Global.asax.cs" Inherits="StackOverflow.MvcApplication" Language="C#" %>
вы разместили глобальный.асакс.cs в другом проекте? Если у вас есть удалить CodeBehind="..."декларация от глобальных.asax и изменить наследует="..."объявление для ссылки на правильное пространство имен и имя класса, как оно определено в Global.асакс.cs файл.
Если вы не переместили его, попробуйте очистить, а затем перестроить проект в Visual Studio, используя контекстное меню веб-проекта. Это сработало для меня, когда я получил эту ошибку.
после прохождения всех моих проектов в моем решении, чтобы установить компиляцию для вывода в бин\ "отладка" и bin\release эта проблема началась для меня. Я, наконец, понял, что проект запуска (т. е. проект с глобальным.asax) необходимо вывести в bin только.
- перейти к свойствам проекта
- посмотрите путь вывода в нижней части страницы
- изменить путь на: bin\
- сохранить и запустить проект
дело решено, но вы также можете получить эту ошибку, если ваш проект строится в другой каталог, чем IIS_Virtual_Directory\bin и DLL отсутствуют.
как ответил Кевин. Я менял имя проекта и пространство имен в моем проекте MVC. Когда я запустил приложение, я получил ту же ошибку "строка 1:
чтобы исправить это, мне нужно было обновить пространство имен в Global.asax
(Right Click
->View Markup
), то обновить это "<correct root namespace for MVC project>.MvcApplication
".
просто скопируйте проект в другое место и запустите его, я думаю, что проблема из-за очистки не выполнена правильно, и может быть изменение настройки в output /bin
когда я получил эту ошибку, это было после того, как я удалил и повторно закрыл папку Git; что произошло, я забыл построить решение в VS2010. Как только я его построил, все работало нормально. Иногда все очень просто.
в моей ситуации я получаю эту же ошибку. Я использую git вместе с исходным деревом для управления версиями. В моем случае git был включен в проекте ,но я не использовал Visual Studio для постановки своих коммитов и т. д.. Я использовал дерево источников. Это не имеет значения, что я использовал проблема в том, что visual studio поместила следующую строку в мой gitignore:
#Build Results
[Bb]in/
это игнорировало папку bin, поэтому моя папка bin никогда не подталкивалась к сервер, как только я удалил эту строку и зафиксировал весь каталог bin и толкнул его на сервер, а затем пошел на сервер и сделал git pull. Папка bin появилась, и все начало работать!
кстати, мой последний файл gitignore (#Build results) раздел в конечном итоге выглядит так:
# Build results
[Dd]ebug/
[Rr]elease/
x64/
build/
[Oo]bj/
Im все еще не уверен, что мне нужно, чтобы папка Obj была перемещена на сервер, но теперь все работает нормально.
в моем случае решение было следующее:
- Проверьте разметку Global.asax, в атрибуте наследует у меня было это наследует= " NameOfMyProject.Глобальный"
-
затем проверьте глобальный.асакс.cs и я нашли это:
открытый класс Global_asax : система.Сеть.Класса HttpApplication
-
поэтому я изменил атрибут наследует в моем глобальном.asax и, наконец, разметка была далее:
Наследует= " NameOfMyProject.Global_asax"
кроме того, я начал: ASP.NET Государственная служба, в административных инструментах. Затем мое приложение работает нормально.
Я учился на видеоресурсе и столкнулся с этой ошибкой, когда мне сказали нажать Ctrl-F5 в представлении, чтобы загрузить его напрямую. Сделав это, я столкнулся с тем же сообщением об ошибке, которое вы опубликовали.
чтобы исправить это, я построил решение (Build > Build Solution или Ctrl+Shift+B), а затем повторил.
в моем случае, это помогает: если вы используете другую папку проекта по умолчанию ( напрмер на диск D , в случае Windows), а затем перейдите в папку по умолчанию , создать проект , запустить его. Опять же, вы можете создавать проекты в папке, в которой вы хотите . Странный. Но в моем случае это помогло.
Это случилось со мной, когда я пытался объединить два решения. проблема заключалась в том, что пространство имен не было хорошо настроено во всех файлах. одна часть истории решена с ответом @Kevin Aenmey, но многие другие ... нет!
поэтому единственным способом для меня был поиск старого пространства имен во всем решении и замена их всех новым пространством имен.может быть, не лучший вариант, но в случае неудачи работает хорошо
эта ошибка возникает при переименовании пространства имен.
-
- перейти к папке исследовать (Не используйте решение Explore) . Найти глобальные.асакс
.
- откройте файл (в блокноте / любом редакторе) и измените Replace старое пространство имен имя Новое Пространство Имен
- сохранить он должен работать сейчас..
У меня была та же проблема, и это было потому, что я не построил решение. Ошибка новичка. Просто: построить решение (Ctrl + shift + b)
У меня была такая проблема после добавления нового проекта в мое решение. Решение построено, без проблем - но затем разбомблено во время выполнения.
оказалось, что новый проект по умолчанию настроен на .NET 4.6.1, тогда как все остальное в решении mhy нацелено на .NET 4.5.
изменение целевой платформы в новом проекте на .NET 4.5 в соответствии с другими Исправлена проблема.
(спасибо за предупреждение о том, что один Microsoft ребята)
Я использую FTP
загрузить DLL
s моего сайта на сервере, но иногда эта ошибка возникает, когда main DLL
веб-сайта не был загружен правильно на сервере.
поэтому я рекомендую вам восстановить Вы проект и повторно загрузить main DLL
s на сервере снова.
в нашем случае-удаление всего содержимого опубликованного сайта интрасети и повторная публикация проекта, который отлично работал в debug, исправили проблему.