【问题标题】:App_Offline.htm being created by Visual Studio 2017App_Offline.htm 由 Visual Studio 2017 创建
【发布时间】:2017-12-19 19:03:55
【问题描述】:

我正在使用 Visual Studio 2017 运行主要使用 Visual Studio 2015 开发的 Web 应用程序项目。但是,我从未创建文件“App_Offline.htm”文件。我的团队中也没有人添加它。它只是在运行 Visual Studio 2017 并对其进行测试时随机出现。

在此处查找问题,我找到了This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory 的答案:

只需转到您的网络目录的根目录,它就应该在那里。这是 VS 在某些任务期间放置的东西。

这是测试 Web 应用程序的不可接受的行为。如果 Visual Studio“决定”让我的 Web 应用程序脱机,则此版本的 Visual Studio 将无法使用。此答案/问题适用于 Visual Studio 的早期版本,但如果此功能曾经存在,那么我认为它必须仍然存在,因为它似乎是文件显示的唯一方式。

哪些特定任务会使该文件出现在解决方案文件夹中?如何预防?

【问题讨论】:

  • 没有什么会导致这种情况,除非您自己显式添加文件。如果那不是您,也许您团队中的另一个开发人员做到了?无论如何,没有办法“防止它”,因为它不会在没有人为干预的情况下发生。
  • 有趣的是,您从另一个答案中发布的报价来自 2010 年。因此,显然它不适用于 Visual Studio 2015 或 2017。
  • @NightOwl888 和 Chris Pratt 不,我没有添加它,我的团队中没有人添加它。该功能曾经存在于 Visual Studio 中,或者在我链接的问题中提供的答案是错误的。如果它曾经存在并且我的团队中没有人添加它,那么我所链接的问题中的主张仍然是正确的。如果您愿意,我可以删除 Visual Studio 2017 的标签并编辑问题以询问“该答案涉及哪些具体任务”,如果这是获得可用于解决问题的可靠答案所需要的。一个人没有这样做,所以我需要一个答案。
  • @NightOwl888 另外,“这是针对早期版本的,因此不适用于此版本”。如果该功能从未被删除,那么它仍然可以很好地应用于 Visual Studio 2017,因此我认为它是相关的。
  • @TheAnathema - 但你的问题似乎暗示问题在 VS 2015 中不存在,但在 VS 2017 中存在。

标签: asp.net-mvc visual-studio visual-studio-2017


【解决方案1】:

当您团队中的某个人启动 Web 部署时,就会发生这种情况。它首先到达映射的 IIS 目录并删除所有文件并将该文件放置在其中(并映射到该文件以供任何访问该页面的人使用),直到您的新版本完全部署为止。 VS 不只是决定做某事,它还对您的团队成员的一项行动做出反应。网络部署可能失败了,你被这个文件卡住了,而不是一个空目录。它应该给启动部署的人一个严重的失败错误。

我相信在应用程序和服务日志 > Microsoft > Windows > WebDeploy 下的服务器事件查看器中有一个完整的 Web 部署日志,您可以查看

Inetpub 下也应该有一些东西 > 日志。

这是大多数人不知道的,除非他们在部署期间专门观察文件夹结构。如果您使用 TFS 自动构建和自定义构建模板,您也会开始更加意识到这一点。

很抱歉让您失望了。

【讨论】:

  • 感谢您提供可能的原因。事件查看器中未列出任何事件,也未执行此类 Web 部署。采取的措施是:1 - 通过 Visual Studio 2017 打开解决方案的本地副本。 2 - 运行 Web 应用程序。 3 - 发现它找不到站点 url,因为我没有在管理员模式下运行(也许相关,但这是昨天。) 4 - 将 VS 设置为管理员模式。 5 - 今天早上再次运行 Web 应用程序,我相信大约在同一时间生成了文件。我没有从 TFS 获得最新信息,也没有人会签入该文件。
  • 太奇怪了,你用的是 TFS 构建吗?
  • 另请注意,有问题的文件不是签入的解决方案的一部分,而是部署过程的一部分。一个很好的起点(现在可能为时已晚),但如果您看到它,那么文件日期时间就是部署事件发生的时间。通常,人们会去明确地转到解决方案上的发布选项并单击部署,但您也可以将其烘焙到 TFS 构建中,这样如果有人在 TFS 中启动特定构建,部署就是它需要执行的操作。尽管在设置构建模板时必须明确定义。无论如何,这是部署操作的指示。
猜你喜欢
  • 2020-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-29
  • 2020-03-19
  • 2017-08-27
相关资源
最近更新 更多