【问题标题】:Why does app_offline.htm keep appearing in my web project?为什么 app_offline.htm 一直出现在我的 Web 项目中?
【发布时间】:2010-01-27 15:29:36
【问题描述】:

我定期(每隔几天左右)将我的 ASP.NET Web 项目发布到本地 Web 服务器。

但最奇怪的事情一直在发生......一个名为“app_offline.htm”的文件不断出现,未经请求,出现在我的网络项目中!

我已经多次删除了这个文件,它不在源代码管理中,AFAIK 没有其他人篡改项目。但实际上每次我尝试发布项目时,我的发布都失败了(Unable to add 'app_offline.htm' to the Web site. The file 'app_offline.htm' already exists in this Web site.Error: The operation could not be completed. Unspecified error),我回去查看项目,它又出现了,像生命一样大,我怀疑它是否会吹树莓对我。 :p

阅读了有关此文件的一些信息后,我认为它是一种让您的应用离线的简单方法。但我没有看到它应该无缘无故地任意强加给你。

那么,这是*&^%$#@%!!文件来自哪里,为什么 VS 认为我需要它?

【问题讨论】:

  • 有谁知道如何使用 Visual Studio 2008、IIS 来解决这个问题,并在构建路径上有一个虚拟文件夹?它发生在我的两个同事身上,并且都没有使用发布。一个使用 Vista,另一个使用 Windows 7。

标签: .net asp.net visual-studio-2008 app-offline.htm


【解决方案1】:

这是 .NET 2.0 的“功能”

http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx

http://www.codeproject.com/KB/aspnet/app_offline.aspx

“解决此问题的最简单方法是永远不要直接发布到您的服务器。无论如何您都不应该... 发布到本地文件夹,然后复制网站"

您使用 Visual Studio 吗? http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=102778

【讨论】:

  • 只要去掉最后的 .3 即可修复微软链接。
  • +answer credit - MS 链接包含我正在寻找的信息。谢谢!
  • 废话,对不起。修复了链接。
【解决方案2】:

默认情况下,发布过程会在您的目标目录中放置一个,然后在发布过程完成后将其删除。也许它在尝试删除时被阻止删除?

这里是MSDN文章here的摘录:

在您复制应用程序文件之前,复制网站工具会将一个名为 App_offline.htm 的文件放入目标网站的根目录中。当 App_offline.htm 文件存在时,对网站的任何请求都会重定向到该文件。该文件显示一条友好的消息,告诉客户网站正在更新。复制完所有网站文件后,复制网站工具会从目标网站中删除 App_offline.htm 文件。

我猜出于某种原因,有两个发布事件以某种方式相互冲突?

我解决这个问题的方法是使用 nant 来构建我的解决方案,然后只复制我想要的东西。我确实首先使用该功能复制了 app_offline 文件,但是当它被复制和删除时我会进行管理。

【讨论】:

  • 我注意到,当存在一个系统文件 thumbnail.db 并且未被忽略时,有时可能无法删除这些类型的文件,并且会生成此 App_offline.htm 文件然后很好地放入您的回收站。
【解决方案3】:

如果数据库不支持多进程(Exp. SQL Server 2005 express edition 或 Access)。一次只有一个进程可以访问数据库。所以当通过 Visual Studio 访问数据库时,ASP.net 运行时无法访问该数据库。这将导致内部服务器错误。为了防止这种情况,VS 2005 将 app_offline.htm 文件放在应用程序的根目录中。该文件包含上述消息。这会导致 ASP.net 将应用程序置于脱机模式。请注意,访问数据库意味着将数据库的任何组件(即表、视图、存储过程等)打开到设计窗口中。当设计窗口关闭时,VS 2005 或 VS 2008 会删除 app_offline.htm 文件,使应用程序再次进入在线模式。

Found it here...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    相关资源
    最近更新 更多