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

时间:2020-03-19 10:04:09

标签: asp.net-core iis .net-4.0 webdeploy

我想创建一个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核心有关。 MsDeploySkipRules似乎适用于常规asp.net项目(已添加到生成的deploy.cmd脚本中),但是如果我将其插入asp.net核心项目文件中,则不会应用。

1 个答案:

答案 0 :(得分:0)

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

<div id="app">
  {{x}}/{{y}} ....... {{coordinates}}
        <div class="bubbleMenuContainer" :style="coordinates" draggable="true" @drag="move" @dragend="set">
            Test
        </div>
</div>
new Vue({
  el: '#app',
  data: {
    x:0,
    y:0,
    coordinates:{
         top: "100px",
         left: "100px",
         opacity: "100%",
     }
    },
   methods:{
        move(event){
            this.x =  event.clientX;
            this.y =  event.clientY;
            this.coordinates.left = event.clientX + "px";
            this.coordinates.top = event.clientY + "px";
            this.coordinates.opacity = "0%;"
        },
        set(event){
            this.coordinates.left = event.clientX + "px";
            this.coordinates.top = event.clientY + "px";
            this.coordinates.opacity = "100%;"
        }
    }
})
.bubbleMenuContainer{
    position: absolute;
    border-radius: 100px;
    background-color: lightcoral;
    width: 30px;
    height: 30px;
    padding: 10px;
}

还可以将现有的文件更改为true:

enter image description here

ASP.NET Core: Exclude or include files on publish

相关问题