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

Deployment msbuild部署-仅删除包中的文件夹,deployment,msbuild,msdeploy,Deployment,Msbuild,Msdeploy,我正在使用msbuild为web应用程序构建和部署一个包。我有一个关于如何同步文件的问题。假设我有以下文件夹结构: -Root -Pages* -Javascript* -CMS 带星号(*)的文件夹在我的visual studio项目中,不带星号的文件夹不在,但它们存在于应用程序中 现在如果我使用msbuild部署它/t:Package/p:DeployOnBuild=True。。发布前将删除所有文件夹/文件。这是坏的,因为我需要保留“CMS”文件夹 如果我部署添加“

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

-Root
    -Pages*
    -Javascript*
    -CMS
带星号(*)的文件夹在我的visual studio项目中,不带星号的文件夹不在,但它们存在于应用程序中

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

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


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

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


肮脏的
CMS

谢谢你的回答,我应该在问题中提到这一点,但我不想使用这种黑名单。新文件和文件夹可能会在某个时候添加到应用程序中。
<MsDeploySkipRules>
  <SkipAction></SkipAction>
  <ObjectName>dirPath</ObjectName>
  <AbsolutePath>CMS</AbsolutePath>
</MsDeploySkipRules>