Глобальный.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#" %>
здесь глобальные.разметка 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 файла в папке решения:
- глобальные.асакс
- глобальные.асакс.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 (старые сборки проекта могут вызвать проблемы!)
удачи!