【问题标题】:How to take web app offline while publishing?如何在发布时使 Web 应用程序脱机?
【发布时间】:2013-12-26 23:02:15
【问题描述】:

很多时候,当我在 VS13 中点击 Publish 时,我可以编译网站,但在上传时却收到错误消息,提示文件正忙。

更新文件 (MyAzureSite\PrecompiledApp.config)。
C:...\v12.0\Web\Microsoft.Web.Publishing.targets(4255,5):
错误 ERROR_FILE_IN_USE:Web 部署任务失败。
(文件“PrecompiledApp.config”正在使用中。
了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE。)

当我点击提供的链接时,建议我应该启用 appOffline 规则。 “当然!”,我心想。但是如何?!我已经用谷歌搜索了它,只是在发布时应该替换该网站的文件上获得了一堆点击。但是,我没有得到关于如何解决我的小问题的信息。

我采取了简单的方法,从我的 Azure 网站下载了一个发布配置文件,现在我正在使用它(你知道,ALT+B+ H)。

现在我通过转到 Azure 门户并手动使站点脱机来解决问题。然后我可以发布,然后我将网站上线。非常不切实际并且非常乏味。

这是什么原因造成的,我该如何杀死它?

【问题讨论】:

    标签: azure publish azure-web-app-service


    【解决方案1】:

    您实际上是在发布配置文件 (.pubxml) 中配置它。只需像这样将元素添加到 PropertyGroup:

    <PropertyGroup>
      <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
      ...
    </PropertyGroup>
    

    更多内容在MSDN document

    【讨论】:

    • VS 使用 MsBuild Schema 来验证文件。您可能会看到几个警告,但您可以忽略它们。人们抱怨这个long ago
    • 遗憾的是,此解决方案仅在直接从 VS 发布时有效;但持续部署不尊重 .pubxml 文件中的设置或作为命令行参数传递给 MSBuild
    • 使用 VS2015 我收到一条错误消息:[发布配置文件] 具有无效的子元素 'EnableMSDeployAppOffline'
    • 我找到了我已经开始用于 CI 的这个 MSBUILD 参数。自从我开始使用它以来,我还没有看到任何错误... /p:EnableMSDeployAppOffline=true
    • 太棒了! UI 无法访问的另一个有价值的设置。喜欢它!
    【解决方案2】:

    Azure App Service Deployment Task 在 Additional Deployment Options 下有一个复选框(从 2.0 版开始):Take App Offline。检查一下,你应该很高兴。

    使应用程序脱机:选择使 AzureRM Web 应用程序脱机的选项,方法是在同步操作开始之前将 app_offline.htm 文件放在 Web 应用程序的根目录中。同步操作成功完成后,该文件将被删除。

    截图:

    【讨论】:

    • 你说的这个 _New Azure Web App Deployment 组件是什么?这是在 Visual Studio 2015 中吗?这是 VS2015 的手动安装吗?
    • 在项目中的 Visual Studio Online 网站上,转到顶部的“Build & Release”,然后在左侧面板上选择“Deploy AzureRM App Service”任务,在右侧面板上找到并选择“使应用脱机”选项。
    • 有没有办法告诉这个选项使用哪个文件作为app_offline.htm?我想设计和定制它。谢谢!
    • 链接已失效。
    猜你喜欢
    • 2010-11-18
    • 2012-03-19
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 2013-11-30
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多