«Не удалось загрузить тип [Namespace] .Global» вызывает у меня горе - PullRequest
105 голосов
/ 05 января 2010

В моем приложении .Net 2.0 Asp.net WebForms мой Global.asax содержит следующий код:

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

Однако при сборке я получаю сообщение об ошибке -

Не удалось загрузить тип «MyNamespace.Global».

Похоже, это связано с тем, что пространство имен MyNamespace (определенное в коде файла Global.asax.cs) не отображается компилятором в файле Global.asax (не отображается в R # intellisence ..). Это оказалось очень крепким орешком ... любая помощь будет оценена по достоинству!

Примечание. Global.asax и Global.asax.cs находятся в одной папке.

Примечание 2: При компиляции из приглашения vs с помощью csc он компилирует o.k.

Ответы [ 32 ]

2 голосов
/ 20 мая 2014

Я преобразовал свое решение из VS2003 в VS2010, и у меня возникли проблемы с преобразованием проекта веб-приложения.

Я столкнулся с точно такой же проблемой, и ни один из ответов не помог мне.

Что сработало для меня:

  • Щелкните правой кнопкой мыши по решению и выберите Configuration Manager
  • Посмотрел каждую из конфигураций в раскрывающемся списке «Конфигурация активного решения».
  • Включил веб-приложение в сборку, установив флажок «Сборка».

может показаться, что проблемы, возникшие у меня во время преобразования, по какой-то причине удалили проект веб-приложения из сборки.

Надеюсь, этот ответ поможет кому-то еще, у кого такая же проблема ...

2 голосов
/ 29 ноября 2011

В моей ситуации это было связано с типом веб-сайта / веб-приложения проекта. Мы недавно перешли на MVC и должны были изменить его на веб-приложение.

Итак, решение было простым: выберите ваш веб-сайт в Solution Explorer и удалите его из решения, затем щелкните правой кнопкой мыши решение и выберите Add -> Existing Project ( не Web Site ) перекомпилировать сайт.

1 голос
/ 06 января 2014

Эта работа для меня: Во-первых, кажется, что независимо от того, что вы сказали Visual Studio, я всегда смотрю файл в: bin (для веб-приложения и, конечно, в моем случае) Так что даже когда я сказал Visual Studio конкретный путь для загрузки файл, я продолжаю искать неправильный путь. Поэтому я изменяю в: Build / Configuration Manager тип вывода на: Release (ранее я очищал решение, даже вручную), поэтому, когда был создан файл .dll, я вручную переместился в папку «bin» в проекте / решении папка. Надеюсь, это будет полезно !!

1 голос
/ 23 августа 2013

Измените GUID сборки. Это исправляет много МНОГО проблем, я нашел.

1 голос
/ 30 марта 2013

У меня были похожие проблемы, когда я получал эту ошибку в проекте.

“Could not load type [Namespace].Global
Error in Line 1   etc etc

Потратив некоторое время, я подозреваю, что функция с возможными ошибками в классе .. Комментирует эту функцию, и моя проблема решена.

Я не знаю, почему Visual Studio не выдала мне эту конкретную ошибку во время отладки. Но эта ошибка может произойти из-за некоторых ошибок в файле класса ..

1 голос
/ 11 февраля 2015

В моем случае это было из-за моего целевого процессора (x64), я изменил его на x86, очистил проект, перезапустил VS (2012) и перестроил проект; тогда это ушло.

1 голос
/ 12 марта 2015

Я сталкивался с этой проблемой несколько раз, и в каждом случае я перестраивал компьютер или переключался на новый компьютер. Мой первый шаг (помимо обновления машины и установки Visual Studio) - вытащить мои проекты из Git и протестировать их.

Я сталкиваюсь с этой ошибкой каждый раз, потому что я пытался получить доступ к своему локальному коду перед его компиляцией. Видите ли, у меня есть настройки Git и Subversion, чтобы игнорировать папки bin / build, поэтому после извлечения из моего репозитория я забыл запустить сборку, которая извлекает необходимые пакеты из Nuget (так как Git / SVN также игнорирует их) и создает DLL, необходимые для запуска моего приложения.

Я сомневаюсь, что это решит проблемы большинства людей, но я не увидел его в списке потенциальных решений, поэтому я решил добавить его.

1 голос
/ 28 января 2016

В моем случае я добавил Global.asax в проект WCF, чтобы поэкспериментировать с ним, но решил удалить его. Я удалил его из Solution Explorer, но поскольку он все еще находился в папке, конвейер все еще находил его и вызывал эту ошибку.

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

1 голос
/ 06 апреля 2012

Если вы перестраиваете или изменяете проект и перемещаете файлы из старого, обязательно проверьте блок Inherit вашего глобального объекта. В моем случае прежний проект / решение называлось интранет, и я воссоздал его как интранет, но когда я перемещался по файлам, ему не нравились строчные буквы (дух). Просто просмотрите имена файлов.

1 голос
/ 31 января 2015

Когда я столкнулся с этой проблемой совсем недавно, я попробовал все упомянутое здесь, но безрезультатно. После того, как я вырвал свои волосы, я решил попытаться удалить мою всю кодовую базу (да, довольно отчаянно!), А затем заново загрузить все из моего хранилища кода. После этого все снова заработало нормально.

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

(Обратите внимание, что в другой раз, когда я сталкивался с этой проблемой, это когда Global.asax наследовал от компонента, который должен был быть зарегистрирован на хост-компьютере. Это отсутствовало, поэтому я получил эту же проблему).

TL; DR; Если все ответы в этой теме не работают для вас, попробуйте удалить, а затем повторно загрузить всю базу кода!

...