Ошибка 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=\&quot;Web\&quot; /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. Удалите только файлы и папки внутри папки Отладка и выпуск.
  • Теперь создайте и опубликуйте свое решение, и все будет работать как прелесть.