Глобальный.asax анализирует ошибку после незначительного изменения и возвращается к предыдущей версии

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

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

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

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

Error snapshot

здесь глобальные.разметка asax:

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

здесь глобальные.асакс.код cs (с удаленным внутренним кодом):

using System;
using System.Linq;

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

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

кроме того:

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

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

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

4 ответов


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

источник:- "не удалось загрузить тип [пространства имен].Глобальный " причиняя мне горе


У нас была аналогичная проблема здесь.

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

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


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

  1. глобальные.асакс
  2. глобальные.асакс.cs

убедитесь, что этот класс В Global.асакс.cs:

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

имеет то же / правильное имя в Global.асакс:

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

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


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

    удачи!