我想创建一个Web部署程序包,在部署时将某些现有目录保留下来,例如一个“日志”文件夹。当前,该软件包删除/覆盖所有现有文件。
[我可以通过在包中执行foo.deploy.cmd
时添加额外的参数来排除文件夹,例如:
.\foo.deploy.cmd /T """-skip:Directory=\\logs"""
这似乎有效。但是我不知道如何在包本身中包含此配置,因此它将自动应用。
我在.net framework 4.7上有一个Asp.net Core网站。我将Visual Studio 2019与pubxml发布配置文件一起使用。
我已经尝试将MsDeploySkipRules
添加到pubxml中,但是似乎没有将它们传递给包参数。我不确定MsDeploySkipRules
是否应与“ Web Deploy软件包”一起使用或仅与“ Web Deploy”一起使用?
编辑:问题可能与我正在使用Asp.net core有关。 MsDeploySkipRules
似乎适用于常规asp.net项目(已在生成的deploy.cmd脚本中添加),但如果我将其插入asp.net核心项目文件中,则不会适用。
您可以尝试在.csproj文件中添加以下代码,以在发布时跳过该文件夹。
<ItemGroup>
<Content Remove="wwwroot\test\**" />
</ItemGroup>
还将旧版现有文件也设为true: