為什麼 app_offline.htm 一直出現在我的 Web 項目中?
我定期(每隔幾天左右)將我的 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認為我需要它?
這是 .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
預設情況下,發布過程會在您的目標目錄中放置一個,然後在發布過程完成後將其刪除。也許它在嘗試刪除它時被阻止?
這是 MSDN 文章的摘錄:
在複製應用程序文件之前,複製網站工具將一個名為 App_offline.htm 的文件放入目標網站的根目錄中。當 App_offline.htm 文件存在時,對網站的任何請求都會重定向到該文件。該文件顯示一條友好的消息,告訴客戶網站正在更新。複製完所有網站文件後,複製網站工具會從目標網站中刪除 App_offline.htm 文件。
我猜出於某種原因,有兩個發布事件以某種方式相互衝突?
我解決這個問題的方法是使用 nant 來建構我的解決方案,然後只複製我想要的東西。我確實首先使用該功能複制了 app_offline 文件,但是當它被複製和刪除時我會進行管理。