Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio TFS 2012 Visual Studio插件立即创建和删除;app_offline.htm“;每当检出导致ASP.NET AppDomain回收的文件时_Visual Studio_Visual Studio 2012_Tfs_Azure Devops_App Offline.htm - Fatal编程技术网

Visual studio TFS 2012 Visual Studio插件立即创建和删除;app_offline.htm“;每当检出导致ASP.NET AppDomain回收的文件时

Visual studio TFS 2012 Visual Studio插件立即创建和删除;app_offline.htm“;每当检出导致ASP.NET AppDomain回收的文件时,visual-studio,visual-studio-2012,tfs,azure-devops,app-offline.htm,Visual Studio,Visual Studio 2012,Tfs,Azure Devops,App Offline.htm,我对Visual Studio 2012有一个问题,这让我发疯。我们正在开发一个ASP.NET web应用程序,在应用程序启动时,它必须将大量内容加载到内存中。有时需要20-30分钟才能启动并准备好为第一个http请求提供服务器 我们使用TFS源代码管理,基本上,每次有人编辑文件时,TFS都会将文件标记为“已签出”(解决方案资源管理器中的文件名图标旁边会出现红色小复选标记),并立即在web应用的根目录中创建和删除“app_offline.htm”文件 这会导致Web应用程序卸载。我使用记录应用程

我对Visual Studio 2012有一个问题,这让我发疯。我们正在开发一个ASP.NET web应用程序,在应用程序启动时,它必须将大量内容加载到内存中。有时需要20-30分钟才能启动并准备好为第一个http请求提供服务器

我们使用TFS源代码管理,基本上,每次有人编辑文件时,TFS都会将文件标记为“已签出”(解决方案资源管理器中的文件名图标旁边会出现红色小复选标记),并立即在web应用的根目录中创建和删除“app_offline.htm”文件

这会导致Web应用程序卸载。我使用记录应用程序启动和应用程序结束事件来发现这一点。然后我使用SysInternals进程监视器来查看发生了什么活动。当我看到procmon的神秘输出中提到app_offline.htm时,我使用了一个名为Directory Monitor的单独文件系统观察程序,它确认app_offline.htm确实正在创建并立即删除

这样做的连锁反应是,如果您需要进行一些更改,那么在开发过程中,应用程序必须多次卸载/重新加载。这是浪费时间

不仅如此,不断地重新加载应用程序域会导致IIS最终耗尽内存,然后我们必须进行IISRESET


有人知道TFS为什么创建这个文件吗?以及是否有任何方法使其停止?

如果您将从Visual Studio发布到IIS下的目录,则会发生这种情况。VS 2012将该文件保存在该位置下

C:\Users\[user]\AppData\Roaming\Microsoft\VisualStudio\11.0\app_offline.htm
简单的解决方法可能是直接发布到您的服务器。我相信你不应该,你可以发布到一个本地文件夹,然后将网站复制到所需的位置

一旦删除映射(直接发布到服务器),我确信当您“签出”文件时,它不会立即在web应用的根目录中创建和删除“app_offline.htm”文件。
希望有帮助。

如果您将从Visual Studio发布到IIS下的目录,那么它就会发生。VS 2012将该文件保存在该位置下

C:\Users\[user]\AppData\Roaming\Microsoft\VisualStudio\11.0\app_offline.htm
简单的解决方法可能是直接发布到您的服务器。我相信你不应该,你可以发布到一个本地文件夹,然后将网站复制到所需的位置

一旦删除映射(直接发布到服务器),我确信当您“签出”文件时,它不会立即在web应用的根目录中创建和删除“app_offline.htm”文件。
希望有帮助。

我发现了一个解决方法

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,并享受不不断地加载AppDead!p> 我发现了一个解决方法

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,并享受不不断地加载AppDead!p> 你好,我不会发布应用程序的。只是开发一下。我已尝试从您提到的位置删除app_offline.htm文件,但不幸的是系统重新创建了它。是否使用Visual Studio直接在IIS下发布文件?您好,根本没有发布,只是IIS像正常情况一样指向源目录。Thxy您可以使用Process Monitor进行检查,因为它可能是其他一些程序,如防病毒等,您可以在此处找到Process Monitor是的,在procmon中,TFS似乎以某种方式在根目录中创建了app_offline.htm文件,从而触发ASP.NET/IIS卸载应用程序域,然后重新加载。您好,我没有发布应用程序。只是开发一下。我已尝试从您提到的位置删除app_offline.htm文件,但不幸的是系统重新创建了它。是否使用Visual Studio直接在IIS下发布文件?您好,根本没有发布,只是IIS像正常情况一样指向源目录。Thxy您可以使用Process Monitor进行检查,因为它可能是其他一些程序,如防病毒等,您可以在此处找到Process Monitor是的,在procmon中,TFS似乎以某种方式在根目录中创建了app_offline.htm文件,从而触发ASP.NET/IIS卸载应用程序域,然后重新加载它。