Я работаю над проектом MVC3 и получаю следующую ошибку:
Сообщение об ошибке синтаксического анализатора: не удалось загрузить тип «GodsCreationTaxidermy.MvcApplication».
Ошибка источника:
Линия 1:
<%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %>
Ошибка, которую я получаю, не может загрузить GodsCreationTaxidermy.Core.MvcApplication, но на этом снимке экрана основная часть не отображается в ошибке:
У кого-нибудь есть идеи или решение этой ошибки?
asp.net
asp.net-mvc-3
PsychoCoder
источник
источник
Ответы:
Ваш локальный веб-сервер выполняет код, отличный от того, над чем вы работаете. Убедитесь, что вы прекратили отладку, остановите свой локальный веб-сервер, очистите и восстановите, как предложил Питер, дважды проверьте ваши global.asax и global.asax.cs и попробуйте снова.
Если это не работает и вы используете локальный IIS, попробуйте удалить сайт в IIS Manager и заново создать его вручную.
источник
Убедитесь, что выходной путь проекта (свойства проекта / Сборка) установлен,
bin
а неbin\Release
илиbin\Debug
По какой-то причине IIS (сервер разработки VS или локальный IIS) всегда обращается к библиотекам из
bin
каталога (и не ищет подкаталоги)источник
Попробуйте изменить файл global.asax (просто где-то добавить пробел) и перезапустить. это заставит встроенный веб-сервер обновить и перекомпилировать файл global.asax.
Также сделайте чистку и перестройте - должны решить проблему
источник
Иногда это происходит, если вы изменили информацию о пространстве имен (уровень проекта или класса) после того,
global.asax
как сгенерировано.Щелкните правой кнопкой мыши
Global.asax
файл и выберите «Открыть с помощью», а затем выберите «Редактор XML (текст) с кодировкой» (другие редакторы также могут работать, но это то, что я использую).Затем отредактируйте раздел «Наследование» в директиве XML
чтобы оно соответствовало фактическому полному имени вашего класса Application. И это все.
Другой вариант - скопировать весь ваш код из Global.asax.cs, а затем удалить и создать другой файл Global.asax (а затем скопировать код обратно в Global.asax.cs).
источник
Global.asax
файл, как указано в этом ответе, и привести его в соответствие с настройками конфигурации проекта.Я закрыл и снова открыл визуальную студию, и это сработало.
источник
Я должен был пойти в BUILD -> MANAGER КОНФИГУРАЦИИ и - хм - поставить галочку рядом с моим проектом, чтобы убедиться, что он действительно будет построен.
источник
У меня была эта проблема сегодня, и мне потребовалось некоторое время, чтобы найти причину.
По сути, мой основной проект VS2015 включал подпроект, который был построен с использованием более высокой версии .Net Framework.
Как ни странно, когда у вас возникнет эта проблема, VS2015 с радостью сообщит, что решение построено нормально, но когда вы попытаетесь запустить веб-сайт, он просто выдаст вам вводящую в заблуждение ошибку, предполагая, что ваш
Global.asax.cs
файл неправильный.Итак, если вы видите эту ошибку, а Очистка / Восстановление не помогает, откройте
References
дерево вашего Проекта и проверьте восклицательные знаки.Кроме того, проверьте свое
Output
окно для сообщений как это:Решение, конечно же, состоит в том, чтобы щелкнуть правой кнопкой мыши по вашему основному проекту, выбрать верхнюю вкладку «Приложение» и изменить версию Target Framework на более высокую версию, соответствующую вашему подпроекту.
Раздражает, что Visual Studio 2015 позволит вам полностью создавать и запускать Решения, которые спокойно содержат эту проблему. Это напрашивается на неприятности ..!
источник
Вы также можете проверить свойства вашего сайта в IIS. (В IIS щелкните правой кнопкой мыши сайт и выберите «Свойства».) Убедитесь, что параметр «Физический путь» указывает на правильный путь для вашего приложения, а не для какого-либо другого приложения. (Это исправило эту ошибку для меня.)
источник
Я только что столкнулся с этим в приложении MVC5, и у меня ничего не получалось. Это произошло сразу после того, как я попытался вернуть SVN к более старой версии проекта.
Мне пришлось удалить global.asax.cs, а затем добавить новый, щелкнув правой кнопкой мыши Project -> Add New Item -> Global.asax, и ТО, наконец, исправило это.
Просто подумал, что это может кому-то помочь.
источник
global.asax.cs
файла. Должно быть установлено значение «Компилировать». Действие сборки самогоglobal.asax
файла должно быть установлено в «Содержимое».Я должен сообщить, что я попробовал по крайней мере 4 предложения из этого поста. Никто из них не работал. Тем не менее, я рад сообщить, что выздоровел, вернувшись из резервной копии. Только пришлось обновить мои последние изменения кода из файла журнала. Заняло не более 10 минут. Потратил 3 раза, чтобы прочитать этот пост и попробовать другие предложения. Сожалею.
Это была очень странная ошибка. Удачи всем, кто столкнулся с этим гремлином.
источник
У меня та же проблема, когда у меня есть 2 экземпляра Visual Studio, работающие в одном проекте. Поэтому я закрыл обе Visual Studio и открыл только один экземпляр, и теперь он работает нормально!
источник
Я работал над старым «основанным на папках» веб-проектом ASP.NET (который мне не нравится) - и обнаружил, что это мое исправление:
Создать
App_Code
папку (если у вас ее еще нет)Переместить
Global.asax.vb
файл вApp_Code
папкуРазметка в Global.asax может пропускать любые пространства имен (по крайней мере, для этого стиля проекта, afaik):
... где «MyApp» - это имя класса, определяемого в Global.asax.vb
источник
«СТРОИТЬ -> МЕНЕДЖЕР КОНФИГУРАЦИИ и - гм - поставьте галочку рядом с моим проектом, чтобы убедиться, что он действительно будет построен». Помогло это и переход в папку проекта в проводнике Windows, нажатие опций и снятие флажка «Только для чтения».
источник
Очистите папку для мусора. Создайте все зависимые библиотеки классов и отошлите их в основной проект, и соберите полное решение.
Источник
источник
Я тоже столкнулся с той же проблемой. Несмотря на следование каждому ответу, это не сработало. Затем я изменил «Inherits = namespace.class » на «Inherits = полное имя сборки », т.е. «Inherits = namespace.class, имя сборки, Version =, Culture =, PublicKeyToken = » Надеюсь, это поможет.
источник
Это также может произойти, если вы случайно забыли установить для своего решения VS «Несколько загрузочных проектов», если вы используете Web и WebApi из одного решения.
Вы можете проверить это, щелкнув правой кнопкой мыши Solution в Solution Explorer и выбрав «Properties». Затем найдите «Startup Projects».
источник
Удалить
.vs
каталог из корня решения. Clean. Перестроить.Эта проблема иногда сводит меня с ума, и я неизбежно заканчиваю поиском ответов. Я подозреваю, что есть несколько причин, которые могут вызвать это исключение, это когда-то работает для меня.
источник
Да, я прочитал все ответы. Однако, если вы я и вытаскиваете все, что осталось от ваших волос, попробуйте проверить папку \ bin. Как и большинство proj-файлов, может иметь несколько конфигураций, сгруппированных в элементе XML
PropertyGroup
, затем я изменилOutputPath
значение с «bin \ Debug», чтобы удалить часть «\ Debug» и перестроить. Это поместило файлы в папку \ bin, что позволило Express IIS найти и загрузить сборку. Меня интересует, как правильно управлять этими сборками, чтобы локальное отладочное развертывание могло найти и загрузить целевую среду.источник
Эта проблема была решена путем предоставления прав доступа к папке, а также проверки из IIS.
Мне дали разрешение всем, когда я тестирую в моей местной среде. Но в режиме публикации я думаю, что мы даем только разрешение пользователю ASP.Net.
источник
Я также получил ту же ошибку ... проверьте имя приложения, которое вы разработали правильно, т.е. выделено пространство имен и имя сборки, а также попробуйте физически изменить имя папки, созданной для приложения, все это должно совпадать с именем в указанном выше пространстве имен, представленном в файле global.asax
источник
Я также получил ту же ошибку ... проверьте конфигурацию IIS вашего виртуального каталога и убедитесь, что свойства - ASP.NET - версия ASP.NET совпадают с Project Properties - Application - Target Framework. (Это исправило эту ошибку для меня.)
источник
Мое приложение было построено в более старой версии VS и не имело папку bin. Я обновил его до более новой версии, и мне приснился кошмар. Я наконец отследил эту ошибку до Проекта> Свойства> Приложение. Целевая структура была установлена на 2,0; изменение его на сервере для соответствия в IIS Manager / App Pool решило проблему для меня.
источник
Я обнаружил, что изменение пространства имен в проекте без рефакторинга всего решения было моей проблемой. Проверьте свойства вашего проекта и посмотрите, какое у вас пространство имен, убедитесь, что оно выстроено по всей доске.
источник
Проблема для меня в том, что я не включил global.asax.cs в свой проект. И поскольку я копировал файлы из .net 4.5 в 4.0, я не закомментировал строки, которые не нужны в 4.0. Потому что он не был включен Visual Studio скомпилировал его в любом случае без проблем. Но когда я включил его, он выделил строки, которые вызывают проблемы.
источник
Я провел буквально день, пытаясь решить эту проблему.
Единственное, что сработало, - это удаление файла .sln, создание нового и добавление проектов по одному.
¯ \ _ (ツ) _ / ¯ - Программирование - ¯ \ _ (ツ) _ / ¯
источник
В моем случае, веб-сборка была частью GAC ... поэтому после сборки ее нужно установить в GAC, и она заработала.
источник
Я столкнулся с этим сообщением об ошибке и в итоге обнаружил, что сообщение об ошибке вводит в заблуждение. В моем случае в IIS, по-видимому, возникла проблема с маршрутизацией, из-за которой файл global.asax с другого сайта на веб-сервере читался, создавая ошибку.
В IIS мой сайт был связан с http: * 80: webservices.local и содержал приложение под названием MyAPI. Я получил страшное сообщение при вызове приложения MyAPI с использованием IP-адреса веб-сервера.
Чтобы успешно вызвать мое приложение, мне пришлось добавить запись файла хоста для webservices.local на всех машинах, которые вызывали приложение MyAPI. Затем все мои запросы должны были иметь префикс http: //webservices.local/MyAPI/ для правильной маршрутизации.
источник
Я попробовал абсолютно все здесь и ничего не получалось. Мой проект был в VS 2013. С тех пор я обновился до VS 2015 и в 2015 году создавал все свои новые приложения, но загружал, компилировал, собирал и т. Д. Все мои старые приложения, которые были созданы в 2013 году в этой версии.
В итоге я просто загрузил решение в 2015 году, и оно решило его для меня.
источник
Я провел несколько дней по этому вопросу. Я, наконец, решил ее с помощью следующей комбинации предложений из этого поста.
bin\
вместоbin\x64\Debug
. Я пробовал это уже несколько раз, прежде чем сменил цель платформы. Это никогда не имело никакого значения, кроме получения ошибки, из-за которой не удалось загрузить сборку из-за неверного формата.Чтобы было ясно, я должен был сделать оба из них прежде, чем это начало работать. Я попробовал их по отдельности несколько раз, но это никогда не исправляло, пока я не сделал оба.
Если я изменю один из этих параметров обратно на исходный, я снова получаю ту же ошибку, несмотря на то, что я запустил Clean Solution и вручную удалил все в
bin
каталоге.источник
Два способа получить это:
Диспетчер конфигурации показывает сборки dll в виде сочетаний сборок '64' и 'any cpu'. Помещение их в одну сборку исправляет это.
При переключении между ветвями экспресс-путь IIS иногда не обновляется. Щелкните правой кнопкой мыши «IIS Express» на панели задач> Показать все приложения и убедитесь, что путь к правильной ветви.
источник