簡體   English   中英

Visual Studio 2013 緩存舊版本的 .js 文件

[英]Visual Studio 2013 caching older version of .js file

我正在 Visual Studio 2013 Ultimate 中開發一個小型 Web api 項目。 Windows 2013. Internet Explorer 9. 當我使用內部 Web 服務器(我想現在是 IIS Express)從 VS 運行(調試)時,我發現我正在對 javascript 頁面進行(並保存)更改忽略。 在 javascript 中放置斷點會顯示沒有我更改的舊代碼。

CTRL+F5 不會強制應用程序使用當前更新的頁面。 簽入頁面,然后將其簽出通常是可行的。 有什么設置或技巧可以幫助我嗎?

清除緩存歷史似乎有點過分,我不想一直這樣做。

以下解決方案在 Internet Explorer 中對我有用:首先啟用腳本調試:

  1. 工具菜單 -> 選擇 Internet 選項
  2. 在高級選項卡上取消選中“禁用腳本調試(Internet Explorer)”

然后確保您獲得最新的頁面:

  1. 從工具菜單中選擇 Internet 選項。
  2. 在常規選項卡上的瀏覽歷史記錄下,單擊設置。
  3. 在“檢查存儲頁面的較新版本”下,確保選中“每次我訪問該網頁”。
  4. 單擊確定按鈕。

如果有人遇到此問題並且 ctrl+F5、清除瀏覽器緩存、重新啟動調試、更改瀏覽器、更改 web.config 和重建項目沒有幫助,那么最后一件事(至少對我來說)有效:重新啟動 Visual Studio .

更改本地 IIS Express 上的調試端口也有幫助,但如果在團隊中工作或使用 Azure Active Directory 等,這會更加痛苦。

唯一對我有用的解決方案是更改 javascript 文件名並更新捆綁配置以指向新文件。 我嘗試了其他所有方法,包括重新啟動我的電腦、刪除 bin/obj/cache/etc、CTRL F5、重新啟動 IIS 等等。

如果我是正確的,您應該在調試之前構建 (ctrl+shift+b) 您的項目。 每當您在調試模式下啟動時,此 Web 服務器都會在選擇的端口上在后台運行。 如果您需要新會話或在 VS 中按 F5,您可以關閉任務(時鍾旁邊的進程欄)。

如果你有 IIS (Express) 或類似的東西,你可以避免使用內置的 web 服務器。 轉到 RUN 並鍵入iis ,具體取決於已安裝的操作系統。 否則嘗試在Control Panel > Programs or Features > Turn windows features on or off中安裝它

  • 添加網站(站點名稱、路徑、主機名)
  • 添加到您的主機文件127.0.0.1 hostname (c:\windows\system32\drivers\etc\hosts)

在 Visual Studio 中調試您的項目:

  • 在您喜歡的瀏覽器中以您的主機名打開您的網站
  • 點擊調試
  • 單擊附加到進程
  • 找到 w3wp.exe
  • 在瀏覽器中按 ctrl+f5 開始調試服務器代碼

根據您的解決方案/項目的設置方式,如果您選擇發布到File System ,您可以將項目文件直接發布到 IIS。 右鍵單擊您的項目並選擇publish 從那里設置它。

如果您的 Visual Studio 是最新的,您可以使用alt+$+p發布單個文件。

希望能幫助到你。

找到頁面加載JavaScript文件的代碼段,並在末尾添加參數字符串進行測試。 例如:

更改 src="../Resources/js/MyScriptFile.js"

到 src="../Resources/js/MyScriptFile.js?v=23"

每次更新 JavaScript 文件時,都會更改版本號。 這將強制瀏覽器加載新版本的 JavaScript 文件。 完成測試后,您可以刪除字符串“?v=23”。 獎金,如果你把它留在那里,在你將代碼部署到生產環境后,最終用戶將不需要刷新他/她的瀏覽器緩存。

我經常遇到這個問題。 通常我要做的是首先進入安裝操作系統的驅動器(在我的情況下是C: ),並刪除所有application.dllapplication.pdb (它存儲在Windows\Microsoft.net\Framework\vx.x.xxxxx\Temporary ASP.NET Files )。 刪除users\xxx中的application.dllapplication.pdb 進入應用程序目錄並再次刪除application.dllapplication.pdb 清除瀏覽器緩存。 重新啟動系統(冷啟動)。 構建應用程序。 大部分時間都在工作。 注意:我使用 DOS 提示符進行刪除,因為我已經習慣了。 但是用戶應該有管理員權限。 這不是一個完美的解決方案,但它有效。

對我有用的是

  1. 關閉 Visual Studio 2013 更新 2(我有 win 8.1 all 64 bit)
  2. 刪除清除“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”
  3. 清潔和重建解決方案
  4. 重新啟動 IIS Express。 如果使用 IIS,只需重新啟動應用程序和池。
  5. 在 VS 2013 Debug (F5) 中運行它仍然會在 Script Documents > Windows Internet Explorer > Page_Name.aspx 下加載舊文件
  6. 然后 F12 開發者工具清除瀏覽器緩存(IE),我在 Chrome 中也有同樣的問題
  7. F5 在瀏覽器重新加載頁面最后用我的調試器加載更改后的 JS 腳本文件; 入口和斷點設置

所以我遇到了同樣的問題,我可以通過取消 Visual Studio 中的 .ASP.NET-Server .ASP.NET-Server 以從 Visual Studio 進行調試並重新啟動調試來避免這種情況。 希望這可以幫助某人。

我重新啟動了 Visual Studio 並重建了項目,但問題仍然存在——調試器繼續運行 .js 文件的舊副本。 我的解決方案是簡單地重新啟動機器。 (當一切都失敗了......)

作為參考,我目前使用的是 Visual Studio 2015。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM