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

Не удалось загрузить тип <MyNameSpace>.Global

В настоящее время я работаю над сайтом ASP.NET 4.0 с использованием решения без проекта.

По умолчанию global.asax не имеет файла с кодом, но после того, как я изменил его на

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

И создал пустой файл Global.asax.cs с тем же именем пространства имен/классов. Я получаю эту ошибку во время компиляции

Ошибка 1 Не удалось загрузить тип 'MyNamespace.Global'. C:\Projects\RiskOptix\Code\RiskOptix.WebApplication\RiskOptix.WebApp\Global.asax 1

Я уже пробовал очистить всю свою папку с bin, но безрезультатно - это очень бесит.

4b9b3361

Ответ 1

Этот вопрос уже задан. Проверьте этот ответ. Проекты веб-сайтов работают иначе, чем проекты веб-приложений. Проекты типа сайта не имеют CodeBehind файлов, а имеют CodeFile.

<%@ Application CodeFile="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %>

CodeBehind = Требуется скомпилировать (модель asp.net 1.1) и скомпилированный двоичный файл, помещается в папку bin на веб-сайте. Перед развертыванием необходимо выполнить компиляцию в визуальной студии. Хорошая модель, если вы не хотите, чтобы исходный код был доступен для просмотра в виде обычного текста... например, при доставке клиенту, у которого у вас нет обязательств по предоставлению кода.

CodeFile = Вы предоставляете исходный файл для решения для развертывания. Время выполнения ASP.NET 2.0 компилирует код при необходимости. Скомпилированные файлы находятся в файле Microsfot.NET [.NET version]\Temporary ASP.NET.

Ответ 2

Мне не удалось запустить мое веб-приложение MVC. Это давало ошибку Could not load type <application namespace.Classname> в Global.asax

Я пошел в Project Properties и установил папку build>output в bin/, которая была bin/Debug. Раньше это было. Все прошло отлично. Затем снова установите выходную папку на bin/Debug. Теперь работаем нормально.

Ответ 3

просто чтобы добавить мои 2 цента с моментом WTF, Моя версия этой ошибки была вызвана тем, что Global.asax.cs не был включен в проект Visual Studio.

Щелкните правой кнопкой мыши на файле .cs, включите в проект и вуаля...

НТН

Dave

Ответ 4

Еще один способ получить это в этой проблеме...

У меня появилось мое веб-приложение в VS2010, и IIS Express может работать с ним просто отлично. Позже я открыл одно и то же веб-приложение, но в более новой ветке с VS2012, а виртуальные серверы в IIS Express автоматически обновили себя до физических дисков для проекта VS2012 без предупреждения. Поэтому, когда я нажимаю F5 для запуска своего веб-приложения в VS2010, где я отлаживаю, тогда я получил ошибку "не могу загрузить тип или пространство имен" в файле global.asax на одной строке Import Namespace. Проблема с закрытием обоих экземпляров VS и повторное открытие только версии VS2010.