получение сообщения об ошибке «ASPPARSE: не удалось загрузить тип ...» с помощью msbuild в веб-приложении MVC - PullRequest
8 голосов
/ 27 декабря 2011

У нас есть CCNET и msbuild, создающие наши обычные сборки.Я пытаюсь обновить наш процесс, поэтому msbuild создает сжатые пакеты развертывания, а msdeploy отправляет их целевым веб-серверам IIS7.У меня были проблемы с выполнением комплексного решения, поэтому сейчас я пытаюсь просто вызвать msbuild из командной строки.Я выполняю этот оператор:

msbuild /target:Build;Package /P:Configuration=Staging;OutDir=D:\Builds\Viper.ProdSupport\MSDeployPkg\ /verbosity:diagnostic D:\builds\ViperPortal.ProdSupport\Code\Viper\Viper.UI.MVC\Viper.UI.MVC.csproj

и получаю эту ошибку:

/ temp / global.asax (1): ошибка ASPPARSE: не удалось загрузить тип 'Viper.UI.MVC.MvcApplication.[D: \ builds \ ViperPortal.ProdSupport \ Code \ Viper \ Viper.UI.MVC \ Viper.UI.MVC.csproj]

О, и для наших спецификаций: .NET4, MVC3, IIS7 / Win2k8 64bitдля веб-сервера.Сервер сборки также Win2k8, но я тестирую сценарии локально на 32-битном боксе win 7 с ccnet и локальной настройкой среды полной конфигурации devm mgmt.

У кого-нибудь есть идеи, почему я получаю эту ошибку?Я прочитал несколько сообщений, жалующихся на компилятор aspnet или изменяющих место, куда ваш бин разворачивает сборки, но ни одно из них, похоже, здесь не применимо.Я просто пытаюсь вызвать msbuild, который работал до сих пор.У нас есть собственный скрипт msbuild для нашего решения.Я попытался использовать и этот файл, и файл mvc csproj в качестве файла конфигурации сборки.Пожалуйста помоги!Спасибо!

1 Ответ

10 голосов
/ 05 апреля 2012

это происходит, если вы настроили прекомпиляцию представлений, т.е. вы изменили:

<MvcBuildViews>false</MvcBuildViews>

до

<MvcBuildViews>true</MvcBuildViews>

Это потому, что MSBuild выбрасывает выходные данные в другие места, чем Visual Studio, поэтому вы должны изменить папку, в которой прекомпиляция запускается из:

<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />

до:

<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
...