Aspnet_compiler ASPParse не может загружать тип

Я не могу создать свое веб-приложение (а не веб-сайт) в нашей сборке environement. Мы используем DMAKE в нашей среде сборки (это, к сожалению, не подлежит обсуждению, поэтому использование MSBUILD не разрешено) и при вызове прекомпилятора asp.net через

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -d -nologo -p Сайт -f -fixednames -errorstack -v/Debug

Мы получаем следующую ошибку

error ASPPARSE: Не удалось загрузить тип "X.Y.Admin.Site.Global

Если я скомпилируюсь из идеала, он будет успешным. Если я затем скомпилирую с aspnet_compilier, это будет успешным. Поэтому я получаю успешную компиляцию с aspnet_compiler, когда целевую DLL, которую я пытаюсь скомпилировать, находится в ящике веб-приложения, которое я компилирую.

Я продолжаю работать в сообщениях, которые говорят о решениях с использованием MSBUILD, к сожалению, я не могу попробовать.

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

Ответ 1

У нас была та же проблема в нашем веб-приложении:   Ошибка ASPPARSE: не удалось загрузить тип '...'

Проблема заключалась в том, что у нас был файл на диске (в папке проекта), но он не был включен в наш проект приложения (в файле .csproj). Мы решили проблему, включив файл в проект:)

Ответ 2

У меня возникла аналогичная проблема с использованием NANT. Хитрость заключалась в том, чтобы скомпилировать файлы кодов веб-приложений в dll, затем включить это при использовании aspnet_compiler.

используйте компилятор командной строки, либо csc.exe(С#), либо vbc.exe(visual basic), чтобы скомпилировать ваше веб-приложение с выходом библиотеки типов. Это создаст dll, который вы можете использовать в своей задаче aspnet_compiler

Ответ 4

Эта проблема была решена для меня простым удалением всех папок bin и obj. Похоже, что они были в плохом состоянии. Я также удалил файл .sou, но я не думаю, что это было проблемой.

Ответ 5

Для веб-приложений вам нужно собрать файлы .vb в dll и поместить их в папку bin перед запуском компилятора aspnet. Проверьте окно вывода в visual studio, и вы увидите командную строку для компилятора VB. Запустите это, прежде чем запускать компилятор aspnet, и страницы asp должны быть в состоянии найти недостающие типы.

Ответ 6

У меня была та же проблема.

Я исправил это, скопировав мою библиотеку webapp из папки OBJ/DEBUG в папку BIN.

Ответ 7

У меня была эта ошибка и я нашел два способа исправить это:

  • Измените атрибут Codebehind в файле global.asax на CodeFile и добавьте "partial" в объявление класса
  • На страницах свойств проекта развертывания установите "Выходные сборки версии" и укажите номер версии

Я действительно не знаю, почему это сработало, но это произошло.

Ответ 8

решение:

-p Путь к сайту должен иметь путь к каталогу расположения файла .csproj.

ex: -

aspnet_compiler -p D:\Projects\MGM\mgm\mgm -v / D:\Projects\MGM-deploy\mgm_compiled