Web部署包:部署时跳过文件

问题描述 投票:0回答:1

我想创建一个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核心项目文件中,则不会适用。

asp.net-core iis .net-4.0 webdeploy
1个回答
0
投票

您可以尝试在.csproj文件中添加以下代码,以在发布时跳过该文件夹。

    <ItemGroup>

    <Content Remove="wwwroot\test\**" />
  </ItemGroup>

还将旧版现有文件也设为true:

enter image description here

ASP.NET Core: Exclude or include files on publish

© www.soinside.com 2019 - 2024. All rights reserved.