Я пытаюсь переключить нашу сборку с CruiseControl.NET, в которой выполняется пользовательский файл .msbuild, на Team Build 2010. Скомпилированное приложение представляет собой решение VS2008 с многочисленными проектами, два из которых являются веб-проектами.
Используя DefaultTemplate.xaml, кажется, что два веб-проекта развернуты на Binaries\_PublishedWebsites\(ProjectName)
. Это расположение по умолчанию в порядке. Однако содержимое выходных каталогов представляется обновляемым, как если бы aspnet_compiler.exe
вызывалось с -u
, или как будто задача MSBuild <AspNetCompiler>
использовалась с Updateable="true"
. Итак, два вопроса:
- Как заставить Team Build выводить не обновляемый вывод в каталог
_PublishedWebsites
?
Как я также могу установить IIS VirtualPath, как если бы я делал следующее в задаче MSBuild:
<AspNetCompiler Clean="true" Force="true" VirtualPath="/My-IIS-Virtual-Path" />
В предыдущих решениях по устранению неполадок я обнаружил, что единственный способ заставить IIS 6 обслуживать веб-службу, скомпилированную с aspnet_compiler.exe
в режиме без возможности обновления, - это указать в команде виртуальный путь, поэтому я спрашиваю о # 2.
Изменить:
Увидев пока один ответ, я понял, что должен был быть намного яснее в том, в чем проблема. Я понимаю, что если я могу что-то сделать в MSBuild, я могу просто вызвать MSBuild из шаблона сборки. Однако мне интересно узнать немного больше о том, как изменить то, что происходит при копировании вывода в каталог _PublishedWebsites
. «Найти задачу, которая копирует веб-сайт и изменить его» будет работать хорошо, за исключением того, что я не вижу, что на самом деле копирует вывод в _PublishedWebsites
. То, что я действительно хочу сделать, это изменить шаг в шаблоне, который выполняет это.
Журнал сборки ссылается на цель компиляции под названием _CopyWebApplication
, которая, по-видимому, выполняет копирование файлов, необходимых для веб-приложения. Однако я не уверен, как изменить эту цель компиляции, так как я не вижу ее ни в шаблоне сборки, ни в каком-либо файле решения. Кроме того, все, что запускается _CopyWebApplication
, похоже, работает только для проектов веб-приложений, а не для многих других проектов в решении. Это хорошо, за исключением того, что я не знаю, где существует логика, определяющая, использовать ли _CopyWebApplication
.
Может быть, есть какой-то файл MSBuild по умолчанию, который мне не хватает? Какой-то параметр сборки, который я мог бы использовать? Как мне изменить вышеупомянутый шаг сборки?