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

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

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

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

ошибка ASPPARSE: не удалось загрузить тип 'XYAdmin.Site.Global

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

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

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

8 ответов

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

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

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

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

Вы пытались указать путь с помощью -p? Похоже, мне не удается найти этот тип / сборку.

http://msdn.microsoft.com/en-us/library/ms229863(VS.80).aspx

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

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

Решение:

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

пример:

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

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

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

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

Я получил ту же проблему.

Я исправил это, скопировав DLL моего веб-приложения из папки OBJ/DEBUG в папку BIN.

Другие вопросы по тегам