我正在使用msbuild来构建和部署一个web应用程序包。我有一个关于文件如何同步的问题。假设我有如下的文件夹结构:
-Root
-Pages*
-Javascript*
-CMS
带有星号(*)的文件夹是在我的visual studio项目中,没有星号的文件夹不是,但它们存在于应用程序中。
现在如果我使用msbuild…/t:Package/p:DeployOnBuild=True ..所有文件夹/文件将在发布前删除。这很糟糕,因为我需要保留"CMS"文件夹。
如果我部署添加"/p:SkipExtraFilesOnServer=True" CMS文件夹将不会被删除,但"Pages"one_answers"Javascript"也不会被删除/同步/清理。
我如何确保非项目文件夹不被触摸,但项目文件夹与包同步?
您可以跳过您不想删除的特定目录,通过添加以下内容到您的pubxml
(或ProjectName.wpp.targets
,如果您仍在使用VS2010 RTM的东西)
<MsDeploySkipRules>
<SkipAction></SkipAction>
<ObjectName>dirPath</ObjectName>
<AbsolutePath>CMS</AbsolutePath>
</MsDeploySkipRules>