使用Web部署包忽略部署在服务器上的文件夹或文件

时间:2016-06-09 01:53:29

标签: iis web-deployment msdeploy webdeploy

我们的网络应用程序中有一些配置文件,例如settings.js特定于给定环境并在网页的初始设置期间创建。我们正在使用visual studio 2015构建Web包,并使用生成的cmd文件(Web部署3.5)部署包。

我尝试了许多建议的解决方案,以便在部署新版本的Web软件包时没有更新或删除文件,但到目前为止还没有任何工作。

有关如何做到这一点的任何建议?基本上,服务器上的settings.js文件应该被忽略,升级时根本不会触及。 我认为这将是一个非常基础的东西,Web部署可以很容易地处理。

1 个答案:

答案 0 :(得分:0)

通过MSBuild打包时,您需要忽略该文件:

 <ItemGroup> 
    <DeploymentFiles Include="$(MSBuildProjectDirectory)/_deployment/**" />
    <ExcludeFromPackageFiles Include="@(DeploymentFiles)"> 
        <FromTarget>Project</FromTarget> 
    </ExcludeFromPackageFiles> 
 </ItemGroup>

http://www.dotnetcatch.com/2016/05/19/extending-the-webdeploy-manifest/

并且还希望不使用以下MSDeploy标记删除包中不存在的现有文件:

-enableRule:DoNotDelete

http://www.dotnetcatch.com/2016/02/01/webdeploymsdeploy-quick-tip-keep-existing-files-during-deployment/