Я использую Web Deploy для упаковки и развертывания веб-сайтов для моего продукта. В частности, у меня есть два разных проекта в моем решении. Я использую этот метод для развертывания.
У меня есть третий проект в решении (служба Windows), который также необходимо установить на веб-сервере.
Я знаю, что могу написать собственный манифест (для поставщиков dirPath, filePath и runCommand) и напрямую вызвать MsDeploy для его развертывания. Но я хотел бы использовать существующие задачи MsBuild для упаковки моего сервиса, если это возможно.
Я вижу, что можно выполнить некоторую настройку файла манифеста с помощью целей msbuild:
http://social.msdn.microsoft.com/Forums/en/msbuild/thread/1044058c-f762-456b-8a68-b0863027ce47
В частности, используя элемент MsDeploySourceManifest.
После прокрутки соответствующих файлов .targets, похоже, что либо contentPath, либо iisApp будет добавлен к моему манифесту, если я использую цель Package. В идеале я просто хотел бы скопировать сборку (или каталог), возможно установить списки ACL и выполнить installutil.exe в службе.
Возможно ли полностью настроить манифест, сгенерированный целевым объектом Package, путем редактирования моего файла csproj?
Если нет, существует ли простой способ создать новую цель, которая будет выполнять эквивалент Package, но позвольте мне выплюнуть полностью пользовательский манифест?