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.