msbuild部署 - 仅删除包中的文件夹

时间:2013-04-06 11:38:52

标签: deployment msbuild msdeploy

我正在使用msbuild为Web应用程序构建和部署包。我有一个关于如何同步文件的问题。假设我有以下文件夹结构:

-Root
    -Pages*
    -Javascript*
    -CMS

带有星号(*)的文件夹在我的visual studio项目中,文件夹没有,但它们存在于应用程序中。

现在如果我使用msbuild部署它... / t:Package / p:DeployOnBuild = True ..所有文件夹/文件将在发布前删除。这很糟糕,因为我需要保留“CMS”文件夹。

如果我部署添加“/ p:SkipExtraFilesOnServer = True”,CMS文件夹将不会被删除,但“页面”和“Javascript”也不会被删除/同步/清除。

如何确保不触及任何项目文件夹,但项目文件夹与包同步?

1 个答案:

答案 0 :(得分:0)

您可以通过将以下内容添加到pubxml(或ProjectName.wpp.targets,如果您仍在使用VS2010 RTM内容)来跳过不想删除的特定目录。

<MsDeploySkipRules>
  <SkipAction></SkipAction>
  <ObjectName>dirPath</ObjectName>
  <AbsolutePath>CMS</AbsolutePath>
</MsDeploySkipRules>