我正在使用Web Deploy来打包和部署我的产品的网站。特别地,我在解决方案中有两个不同的项目使用这种方法进行部署。
我在解决方案中有第三个项目(一个Windows服务),也需要安装在Web服务器上。
我知道我可以编写自定义清单(针对dirPath
、filePath
和runCommand
提供者),并直接调用MsDeploy进行部署。但如果可能的话,我想利用现有的MsBuild任务来打包我的服务。
我看到可以通过msbuild目标对清单文件进行一些自定义:
http://social.msdn.microsoft.com/Forums/en/msbuild/thread/1044058c-f762-456b-8a68-b0863027ce47
尤其是使用MsDeploySourceManifest
项。
在浏览适当的 .targets 文件后,看起来如果我使用Package
目标,contentPath
或iisApp
将附加到我的清单上。理想情况下,我只想复制程序集(或目录),可能设置ACL,并在服务上执行installutil.exe。
是否可以通过编辑我的csproj文件,完全自定义由Package
目标生成的清单?
如果不行,是否有一种简单的方法来构建一个新目标,以执行与Package
等效的操作,同时允许我输出完全自定义的清单?