2008-11-21 6 views
1

Все,Проблемы автоматически прекомпиляции сайт с MSBuild

я в настоящее время у меня есть решение, состоящий из 2-го класса Librarys и здание веб-сайта в рамках Teamcity с помощью MSBuild. Теперь я хочу прекомпилировать веб-сайт и сделать его доступным как артефакт. Однако, когда я пытаюсь Прекомпилировать его с помощью

<Target Name="PrecompileWeb" DependsOnTargets="Build"> 
    <AspNetCompiler 
     PhysicalPath="$(BuildDir)\Location\" 
     TargetPath="$(BuildDir)\Publish" 
     Force="true" 
     Debug="true" 

     /> 
    </Target> 

Я получаю ошибку еще потому, что ищет виртуальный путь (который я не имею, как все, что я хочу сделать это перекомпилировать файлы я не заинтересован в публикации сайт), если я ставлю фиктивный путь в я получаю другую ошибку (правильно) об этом не является приложением под IIS

Любые идеи

ответ

2

является ли это веб-сайт или веб-приложения проекта? Если последнее, вместо выполнения задачи AspNetCompiler, выполняет задачу MSBuild в файле csproj/vbproj, вызывая цели Rebuild;ResolveReferences;_CopyWebApplication и указывая свойство OutDir.

Если вы используете веб-сайт, укажите VirtualPath как допустимый путь IIS. Что происходит, так это то, что, когда вы не указываете свойство VirtualPath, оно пытается разрешить его с помощью PhysicalPath и IIS. Я считаю, что это просто артефакт о том, как работает AspNetCompiler.

+0

@Cory - поэтому цель _CopyWebApplication с OUTDIR является то, что прекомпиляция? Кроме того, для этого цели должны быть все эти Rebuild: ResolveReferences; _CopyWebApplication или не удается? Благодарю. – nickytonline 2009-11-21 03:19:45

0

Я не уверен, что это сработает, поскольку это произойдет при каждой сборке? Я только хочу сделать это, когда я запускаю сборку на TeamCity Server, а не локальные сборки.

По сути я в настоящее время

Построить все необходимые решения Выполните блок тестирует Создать папку Zip артефакта

Приветствия