Ошибка парсера: ошибка сервера в приложении"/"

Я получаю следующую ошибку: "произошла ошибка при разборе ресурса, требуемого для обслуживания этого запроса. Пожалуйста, просмотрите следующие сведения об ошибке разбора и измените исходный файл."

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.

  1. чтобы устранить эту проблему, откройте проект, который вы хотите построить, и перейдите к свойства веб-сайтов (меню проекта)
  2. создать виртуальный каталог проект.
  3. перестроить проект.

основные


поскольку обычно вы создаете проект MVC глобальный.разметка asax имеет что-то вроде следующего:

<%@ Application Codebehind="Global.asax.cs" Inherits="StackOverflow.MvcApplication" Language="C#" %>

вы разместили глобальный.асакс.cs в другом проекте? Если у вас есть удалить CodeBehind="..."декларация от глобальных.asax и изменить наследует="..."объявление для ссылки на правильное пространство имен и имя класса, как оно определено в Global.асакс.cs файл.

Если вы не переместили его, попробуйте очистить, а затем перестроить проект в Visual Studio, используя контекстное меню веб-проекта. Это сработало для меня, когда я получил эту ошибку.


после прохождения всех моих проектов в моем решении, чтобы установить компиляцию для вывода в бин\ "отладка" и bin\release эта проблема началась для меня. Я, наконец, понял, что проект запуска (т. е. проект с глобальным.asax) необходимо вывести в bin только.


  1. перейти к свойствам проекта
  2. посмотрите путь вывода в нижней части страницы
  3. изменить путь на: bin\
  4. сохранить и запустить проект

дело решено, но вы также можете получить эту ошибку, если ваш проект строится в другой каталог, чем 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 была перемещена на сервер, но теперь все работает нормально.


в моем случае решение было следующее:

  1. Проверьте разметку Global.asax, в атрибуте наследует у меня было это наследует= " NameOfMyProject.Глобальный"
  2. затем проверьте глобальный.асакс.cs и я нашли это:

    открытый класс Global_asax : система.Сеть.Класса HttpApplication

  3. поэтому я изменил атрибут наследует в моем глобальном.asax и, наконец, разметка была далее:

    Наследует= " NameOfMyProject.Global_asax"

  4. кроме того, я начал: ASP.NET Государственная служба, в административных инструментах. Затем мое приложение работает нормально.


Я учился на видеоресурсе и столкнулся с этой ошибкой, когда мне сказали нажать Ctrl-F5 в представлении, чтобы загрузить его напрямую. Сделав это, я столкнулся с тем же сообщением об ошибке, которое вы опубликовали.

чтобы исправить это, я построил решение (Build > Build Solution или Ctrl+Shift+B), а затем повторил.


в моем случае, это помогает: если вы используете другую папку проекта по умолчанию ( напрмер на диск D , в случае Windows), а затем перейдите в папку по умолчанию , создать проект , запустить его. Опять же, вы можете создавать проекты в папке, в которой вы хотите . Странный. Но в моем случае это помогло.


Это случилось со мной, когда я пытался объединить два решения. проблема заключалась в том, что пространство имен не было хорошо настроено во всех файлах. одна часть истории решена с ответом @Kevin Aenmey, но многие другие ... нет!

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


эта ошибка возникает при переименовании пространства имен.

-

  1. перейти к папке исследовать (Не используйте решение Explore) . Найти глобальные.асакс

.

enter image description here

  1. откройте файл (в блокноте / любом редакторе) и измените Replace старое пространство имен имя Новое Пространство Имен

. enter image description here

  1. сохранить он должен работать сейчас..

У меня была та же проблема, и это было потому, что я не построил решение. Ошибка новичка. Просто: построить решение (Ctrl + shift + b)


У меня была такая проблема после добавления нового проекта в мое решение. Решение построено, без проблем - но затем разбомблено во время выполнения.

оказалось, что новый проект по умолчанию настроен на .NET 4.6.1, тогда как все остальное в решении mhy нацелено на .NET 4.5.

изменение целевой платформы в новом проекте на .NET 4.5 в соответствии с другими Исправлена проблема.

(спасибо за предупреждение о том, что один Microsoft ребята)


Я использую FTP загрузить DLLs моего сайта на сервере, но иногда эта ошибка возникает, когда main DLL веб-сайта не был загружен правильно на сервере.

поэтому я рекомендую вам восстановить Вы проект и повторно загрузить main DLLs на сервере снова.


в нашем случае-удаление всего содержимого опубликованного сайта интрасети и повторная публикация проекта, который отлично работал в debug, исправили проблему.