Ошибка Parser при развертывании приложения ASP.NET
Я закончил простой проект веб-приложения asp.net, скомпилировал его и попытался протестировать локальный IIS. Я создаю виртуальный каталог, сопоставляю его с физическим каталогом, а затем размещаю там все необходимые файлы, включая папку bin со всеми DLL файлами.
В настройках проекта, секция сборки, путь вывода - bin \
Поэтому, когда я пытаюсь просмотреть мое приложение, я получил:
Server Error in '/' Application.
--------------------------------------------------------------------------------
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'AmeriaTestTask.Default'.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AmeriaTestTask.Default" %>
Line 2:
Line 3: <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxToolkit" %>
Source File: /virtual/default.aspx Line: 1
![enter image description here]()
Прочитали похожие сообщения о проблемах, и решение заключалось в том, чтобы установить выходной путь к bin \, но он defalut для моего проекта.
Ответы
Ответ 1
Я решил проблему.
Решение состоит в том, чтобы не создавать виртуальные диски вручную, а затем копировать файлы приложений здесь, но используйте параметр "Добавить приложение...".
Вот сообщение, которое помогло мне http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/7ad2acb0-42ca-4ee8-9161-681689b60dda/
Ответ 2
Я знаю, что слишком поздно, чтобы ответить, но это может помочь другим и сэкономить время.
Ниже приведены другие решения.
Solution 1:
См. Создание виртуального каталога для вашего приложения для получения подробных инструкций по созданию виртуального каталога для вашего приложения.
Solution 2:
Отсутствует папка с папками приложений или отсутствует файл DLL приложений. Подробные инструкции см. В разделе Копирование файлов приложений на производственный сервер.
Solution 3:
Возможно, вы развернулись в корневую папку в Интернете, но не изменили некоторые параметры в файле Web.config. Подробные инструкции см. В разделе Развертывание в веб-корне.
В моем случае Solution 2
работает, при развертывании на сервере некоторая DLL's
из bin
директория не была успешно загружена на сервер. У меня есть повторно загрузить всю DLL снова, и она работает!!
Вот ссылка на решить ошибку анализатора asp.net.
Ответ 3
У меня была такая же проблема.. Раньше 5 или 6 часов исследований.. Простое решение, похоже, работает.. Мне просто пришлось конвертировать мою папку в приложение из iis.. Это сработало нормально. (это был сценарий, когда я переместился с сервера 2003 на сервер 2008 R2)
(1) Откройте IIS и выберите веб-сайт и соответствующую папку, которая должна быть преобразована. Щелкните правой кнопкой мыши и выберите преобразование в приложение.
Именно здесь.. http://www.windowstechinfo.com/2014/09/solved-an-error-occurred-during.html
Ответ 4
Иногда это происходит, если вы либо:
- Чистое решение/сборка или
- Восстановить решение/построить.
Если после этого произойдет "внезапно", и ваш код имеет построить -time ошибки, попробуйте сначала исправить эти ошибки.
Что происходит, так это то, что по мере создания вашего решения файлы DLL создаются и сохраняются в папке bin. Если во время сборки есть ошибка в коде, файлы DLL создаются неправильно, что вызывает ошибку.
"Быстрое исправление" должно было бы исправить все ваши ошибки или прокомментировать их (если они не повлияют на другие веб-страницы), а затем перестроить проект/решение
Если это не работает, попробуйте изменить:
CodeBehind = "blahblahblah.aspx.cs"
чтобы:
CodeFile = "blahblahblah.aspx.cs"
Примечание. Измените "blahblahblah" на настоящее имя страницы.
Ответ 5
Попробуйте изменить CodeBehind="Default.aspx.cs"
на CodeFile="Default.aspx.cs"
Ответ 6
Я решил это таким образом.
Перейдите к файлу вашего проекта, скажем, project/name/bin и удалите все в папке bin. (это даст вам еще одну ошибку, которую вы можете решить таким образом)
затем в вашей визуальной студии щелкните правой кнопкой мыши по папке проекта References, чтобы открыть NuGet Package Manager.
Перейдите к обзору и установите "DotNetCompilerPlatform".
Ответ 7
Столкнулась с той же ошибкой, когда у меня была ошибка программирования в одном из файлов ASHX: она была создана путем копирования другого файла и унаследовала его имя класса в инструкции позади кода. Не было ошибок, когда все файлы ASPX и ASHX работали в IIS Express локально, но после их развертывания на сервере они перестали работать (все они).
Как только я обнаружил одну страницу ASHX и исправил имя класса, чтобы отразить его собственное имя класса, все файлы ASPX и ASHX начали нормально работать в IIS.
Ответ 8
IIS 7 или версия IIS 8 или 8.5 - если вы переходите с 2003 на 2012/2008, убедитесь, что веб-служба находится в типе приложения вместо виртуального каталога
Ответ 9
В моем случае, появилась новая ветвь кода, а ветвь старого кода была развернута локально в IIS. Поэтому он указывал на старый код ветки, который не был доступен. Поэтому я развернул свой код в IIS с новой веткой, и теперь он работает.
Ответ 10
В моем случае я пропустил тег компиляции в файле .csproj
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Compile>
Ответ 11
Папка bin вызывает такую ошибку. Очистить (удалить файлы, которые находятся в папке bin) Затем очистите и перестройте решение.
Ответ 12
Интересны все разные сценарии..
В моем случае... Я загрузил свой сайт в GoDaddy и получил сообщение об ошибке Parser.
Я решил это, system.codedom
compilers
в system.codedom
в web.config. А также добавьте пользовательский профиль для публикации, который будет предварительно компилироваться во время публикации.
<system.codedom>
<!--GoDaddy does not compile!-->
<!--<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
</compilers>-->
</system.codedom>
Ответ 13
Когда вы добавляете подпапки и файлы в подпапки, файлы DLL в папке Bin также могут измениться. Когда я загрузил обновленный файл DLL в папку Bin, это решило проблему. Спасибо Mayank Modi, который предложил или намекнул на это.
Ответ 14
Здесь очень старый вопрос, но я столкнулся с той же ошибкой, и ни один из предоставленных ответов не решил проблему.
Моя проблема возникла из-за того, что я вручную изменил пространство имен и имена сборок проекта после первоначального создания. Я немного заметил, что пространство имен в атрибуте Inherits
не соответствует обновленному пространству имен.
Обновление этого пространства имен в разметке Global.asax в соответствии с пространством имен приложений исправило ошибку для меня.
Ответ 15
Я слишком поздно, но позвольте мне объяснить, как я решил эту проблему.
Эта проблема в основном связана с неправильной структурой папок/решений.
эта проблема может возникнуть, потому что
1. Если вы скопировали проект из другого места и попытались запустить проект.
чтобы решить эту проблему, перейдите в исходное местоположение и перекрестно проверьте папки и файлы.
это работает для меня.
Ответ 16
Это происходит, когда файлы внутри папки Debug и Release не созданы должным образом (либо они имеют неправильную ссылку, либо многократно перезаписываются). Я столкнулся с той же проблемой, в которой все работает отлично, когда мы строим решение, но когда я публикую сайт, он дает мне такую же ошибку.
Я решил это следующим образом:
- Перейдите в свой обозреватель решений в Visual Studio и нажмите "Показать скрытые файлы" (если они не отображаются!)
- вы найдете папку с именем obj, откройте ее.
- Здесь есть еще 2 папки, названные соответственно Debug и Release.
Теперь удалите содержимое из этих двух папок, убедитесь, что вы не удаляете папки Debug и Release. Удалите только файлы и папки внутри папки Отладка и выпуск.
- Теперь создайте и опубликуйте свое решение, и все будет работать как прелесть.