Подтвердить что ты не робот

Ошибка Global.asax parse после незначительных изменений и возврата к предыдущей версии

Проект в контексте:

  • Веб-приложение ASP.NET
  • .NET Framework: 4
  • Цель платформы: x86
  • IDE: Visual Studio 2010 Ultimate SP1
  • Несколько проектов в решении с ASP.NET, являющимся стартовым проектом.

Он был в производстве месяцами без сбоев до вчерашнего дня. Я очистил файл [Global.asax] (удалил неиспользуемые операторы, рефакторировал и т.д.), Запустил решение и получил следующую ошибку:

Описание: Произошла ошибка во время разбора ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь со следующими подробными сведениями о синтаксическом анализе и соответствующим образом измените исходный файл.
Сообщение об ошибке Parser: Не удалось загрузить тип "CloudTech.ATS.WebClient.Global".
Исходный файл:/global.asax Линия: 1
Ошибка источника: Линия 1: <%@ Application CodeBehind="Global.asax.cs" Inherits="CloudTech.ATS.WebClient.Global" Language="C#" %>

Error snapshot

Вот Разделение Global.asax:

<%@ Application CodeBehind="Global.asax.cs" Inherits="CloudTech.ATS.WebClient.Global" Language="C#" %>

Вот код Global.asax.cs (с внутренним кодом):

using System;
using System.Linq;

namespace CloudTech.ATS.WebClient
{
    public class Global: System.Web.HttpApplication
    {
    }
}

После долгой борьбы с этой ошибкой я обыскал, перезапустил свой компьютер, выполнил полную очистку решения, принудительно перестроил, но безрезультатно. Разочарованный, я, наконец, изменил только цель веб-приложения на "Любой процессор", и он сработал. К сожалению, "любой процессор" не является вариантом или решением проблемы. Изменение его на "x86" возвращает ту же ошибку. Это произошло один раз, и с тех пор никакая комбинация целевой платформы или конфигурации отладки/выпуска не работает (такая же ошибка).

Далее

  • Мои машины разработки - все x64.
  • Проверено в решении, если несколько коллег проверили на своих машинах (как x86, так и x64) с тем же результатом.
  • Восстановил весь проект до чистого состояния с 3 дней назад, и ошибка все еще сохраняется!
  • Проверено абсолютно без изменений в файлах Web.config или любых других файлах в решении.

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

Любая помощь будет оценена.

4b9b3361

Ответ 1

Очистка решения и удаление сборок не повлияли на последующие сборки. Мое решение состояло в том, чтобы просто изменить выходной путь в настройках проекта для веб-приложения на Bin (а ​​не bin/x86/Debug).

Источник: - "Невозможно загрузить тип [пространство имен].Global" вызвав мое горе

Ответ 2

у нас была аналогичная проблема.

и мы только что закрыли IDE. и откройте его снова, а затем выполните, затем запустите.

довольно расстраивает и запутывает.

Ответ 3

  • используя Блокнот, отредактируйте файл Global.asax, чтобы убедиться, что он наследуется от вашего пространства имен веб-приложений.
  • проверить свойства проекта для имени своей сборки и пространства имен по умолчанию
  • удалите старые сборки из каталога bin (старые сборки проектов могут вызвать проблемы!)

    Удачи!

Ответ 4

Обычное веб-приложение ASP.NET имеет 2 файла в папке решения:

  • Global.asax
  • Global.asax.cs

Убедитесь, что класс в Global.asax.cs:

namespace YourWebAppNamespace
{
  public class MvcApplication : HttpApplication
  {
     ...

Имеет то же/правое имя в Global.asax:

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

У меня возникла проблема с этим, когда я вручную изменил имя класса в файле Global.asax.cs, так как для результата я имел ту же ошибку, что и вы и с моей точки зрения, он должен быть более информативным. Я знаю, что на этот вопрос уже был дан ответ, но, возможно, мое дело может быть полезным для кого-то.