【问题标题】:App_offline.htm created/deleted whenever I check out a file in TFS每当我在 TFS 中签出文件时,都会创建/删除 App_offline.htm
【发布时间】:2010-10-19 04:31:28
【问题描述】:

我有一个使用 .NET 4.0 开发的重 AJAX 的 ASP.NET Web 应用程序,使用 TFS 作为我们的源代码控制。我们最近升级了我们的开发工具以专门使用 VS2010 和 TFS 2010,但现在每次签出文件时,我们都会看到 Visual Studio 重新加载所有符号,并且所有会话都被丢弃。

在放置了一些错误记录代码后,我们发现回收的原因是它认为 App_offline.htm 在我们检查时都会发生变化。这在项目的任何地方都不存在,我的 SO-fu 找到了一些关于 SQL Express 使这个文件被创建和删除的信息,所以这可能就是这里发生的事情。

看起来我确实安装了 SQL-Express,但即使禁用正在运行的服务,问题仍然存在。

如果确实发生了这种情况,是否有任何方法可以阻止签出添加/删除此文件?每当我简单地签出一个文件时,让应用程序回收,这真是令人沮丧......

【问题讨论】:

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


    【解决方案1】:

    我发现了一个解决方法。

    1) 转到 Visual Studio 缓存 app_offline.htm 文件的位置 C:\Users[user]\AppData\Roaming\Microsoft\VisualStudio\11.0\(将 [user] 替换为您的用户名)

    2) 删除 app_offline.htm 文件

    (注意:仅此一项并不能解决问题,因为 VS 在找不到文件时会再次重新生成文件)

    3) 创建一个名为 app_offline.htm 的目录(一个目录!)

    这实质上会导致尝试使用该文件的进程出错,因为它不是文件,并且名称冲突意味着 VS 无法尝试重新创建该文件。幸运的是,该错误没有任何副作用。

    现在继续使用 VS 和 Team Foundation Server,享受不经常重新加载 appdomain 的乐趣!

    这当然意味着任何 Publish 进程都可能不会使用 app_offline.htm 文件,因此您需要注意这一点。

    【讨论】:

    • 这太棒了!对发现表示敬意。作为一个额外的好处,TFS checkout 操作要快得多,我猜它之前在等待应用程序域重新加载。
    【解决方案2】:

    由于我也遇到了问题,所以我决定尝试追踪它。首先,我发现如果我的数据库连接处于脱机状态并单击服务器资源管理器中的刷新按钮,它会在我的网站根目录中创建 app_offline 文件,然后将其删除。我重新制作了好几次。

    我实际上在服务器资源管理器中有 3 个数据库连接。如果我断开与远程 SQL 服务器上的数据库的实际连接的 2 个连接,它不会在我刷新时生成 app_offline 文件。如果我从本地 .MDF 文件断开连接,然后刷新(它重新连接到该 .mdf 文件并且红色断开连接的 X 消失),它只会生成 app_offline 文件。果然,每次重新连接到本地数据库后,app_offline.htm 文件都会出现在我的回收站中。

    更进一步,我分离了本地数据库(.mdf 文件)并将文件移动到我的桌面。然后重新启动VS2010,无法重现错误。我将文件放回原处,重新建立连接,并再次开始获取 app_offline。然后我禁用了 SQLExpress 服务,确实遇到了一些其他错误,但即使禁用了 SQLExpress 服务,我的回收站中仍然有 app_offline

    所以,我想我的答案是尽可能摆脱 .mdf 本地数据库。这对我来说不是一个好选择,因为我在远程处理代码时需要本地数据库,但如果您不需要任何本地数据库,也许您可​​以尝试删除它们。

    注意:我使用的是 VS2010(有时是 VS2008)和 SQLExpress 2008 RS。我不使用 TFS。

    【讨论】:

    • 对于那些在他们的解决方案中使用 SQLExpress 的人来说看起来很有用。我们没有 - 我们的服务器资源管理器中没有数据连接。
    【解决方案3】:

    也许,有人确实签入了文件 app_offline,当你得到项目时,文件就来了。 查看您的源代码库。

    【讨论】:

    • 该文件未签入。正如我所说,每当签出任何文件时,都会创建和删除该文件,大概是为了强制回收,我不想发生这种情况.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 2011-12-13
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多