2013-04-06 84 views
0

我正在使用msbuild为Web应用程序构建和部署一个包。我有关于文件如何同步的问题。比方说,我有以下文件夹结构:msbuild部署 - 只删除包中的文件夹

-Root 
    -Pages* 
    -Javascript* 
    -CMS 

文件夹有星号(*)在我的Visual Studio项目,文件夹不不,但他们的应用程序中存在。

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

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

如何确保未触及非项目文件夹但项目文件夹与包同步?

回答

0

您可以跳过您不想要(如果你还在使用VS2010 RTM东西或ProjectName.wpp.targets

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

感谢您的回答中加入以下到您pubxml删除特定的目录,和我应该在我的问题中提到这一点,但我不想使用这种黑名单。新文件和文件夹可能会在某个时候添加到应用程序中。 – ZNS 2013-04-15 20:31:23