0

我正在努力做到这一点,所以当我部署我的 mvc Web 应用程序时,app_offline 屏幕是复制到服务器的第一项(使用 web 部署到 azure vm),然后在部署过程结束时删除该文件。

我遇到的问题是我的 pubxml 文件中的目标没有被命中,下面是目标的示例。我已经阅读了各种文章,这些文章表明这​​是解决此问题的正确方法,但我想知道这些信息是否已过时或与 mvc 不兼容。

<Target Name="TakeOffline" AfterTargets="BeforePublish" >
    <Message Text="Taking application offline" Importance="high" />
  </Target>
  
  <Target Name="RestoreOnline" AfterTargets="AfterPublish" >
    <Message Text="Restoring application online" Importance="high" />
  </Target>
4

1 回答 1

1

发布 MVC 应用程序时我遇到了同样的问题。AfterTargets和参数的文档BeforeTargets似乎缺乏,但这个页面https://docs.microsoft.com/en-au/visualstudio/msbuild/target-build-order?view=vs-2015混合了不同的样本和一些试验和错误,帮助我让它工作。

我正在使用 Visual Studio 2019 版本 16.7.3、ASP.NET 4.8 和 MVC5 - 在撰写本文时均已获得最新更新。这就是在我的 .pubxml 文件中使用 Web Deploy 对我有用的东西......

<Target Name="TakeOffline" BeforeTargets="MSDeployPublish" >
    <Message Text="Taking application offline" Importance="high" />
    [copy app_offline.htm to destination here]
</Target>
<Target Name="RestoreOnline" AfterTargets="MSDeployPublish" >
    <Message Text="Restoring application online" Importance="high" />
    [delete app_offline.htm from destination here]
</Target>
于 2020-09-10T02:05:11.347 回答