Visual Studio 2013缓存旧版本的.js文件

时间:2014-03-30 02:07:12

标签: javascript visual-studio-2013

我正在开发Visual Studio 2013 Ultimate中的一个小型web api项目。 Windows 2013. Internet Explorer 9.当我使用内部Web服务器从VS运行(调试)时(我猜这是IIS Express,现在),我发现我正在进行(并保存)到javascript页面的更改正在进行忽略。在javascript中放置断点会显示较旧的代码而不进行更改。

CTRL + F5不会强制应用程序使用当前更新的页面。检查页面,然后检查它通常有效。是否有一些设置或技巧可以帮助我在这里?

9 个答案:

答案 0 :(得分:24)

清除缓存历史似乎有点过分,我不想一直这样做。

以下解决方案让我在Internet Explorer中工作: 首先启用脚本调试:

  1. 工具菜单 - >选择Internet选项
  2. 在“高级”选项卡上取消选中“禁用脚本调试(Internet Explorer)”
  3. 然后确保您获得最新页面:

    1. 从“工具”菜单中选择“Internet选项”。
    2. 在“常规”选项卡上的“浏览历史记录”下,单击“设置”。
    3. 在“检查存储页面的较新版本”下,确保选中“每次访问网页时”。
    4. 单击“确定”按钮。

答案 1 :(得分:8)

如果有人遇到此问题并且ctrl + F5,清除浏览器的缓存,重新启动调试,更改浏览器,更改web.config和重建项目都无济于事,那么最后一件事情是有效的(至少对我而言): 重新启动Visual Studio

同时更改本地IIS Express上的调试端口会有所帮助,但如果在团队中工作或使用Azure Active Directory等,则会更加痛苦。

答案 2 :(得分:2)

只有对我有用的解决方案是更改javascript文件名并更新捆绑包配置以指向新文件。我尝试了重启我的电脑,删除bin / obj / cache / etc,CTRL F5,重启IIS等等。

答案 3 :(得分:1)

如果我更正,你应该在调试前构建(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中调试项目:

  • 在您喜欢的浏览器中使用您的主机名打开您的网站
  • 点击DEBUG
  • 点击ATTACH TO PROCESS
  • 找到w3wp.exe
  • 在浏览器中点击ctrl + f5开始调试服务器代码

根据您的解决方案/项目的设置方式,如果您选择发布到File System,则可以将项目文件直接发布到IIS。用鼠标右键单击您的项目,然后选择publish。从那里开始设置。

如果您的Visual Studio是最新的,则可以使用alt+$+p发布单个文件。

希望它有所帮助。

答案 4 :(得分:0)

对我有用的是

  1. 关闭Visual Studio 2013更新2(我赢得8.1全部64位)
  2. 删除清除“C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files”
  3. 清理并重建解决方案
  4. 重新启动IIS Express。如果使用IIS,只需重新启动应用程序和池。
  5. 在VS 2013 Debug(F5)中运行,它仍会加载脚本文档>下的旧文件。 Windows Internet Explorer> Page_Name.aspx
  6. 然后F12开发人员工具清除浏览器缓存(IE),我在Chrome中遇到同样的问题
  7. 浏览器中的F5重新加载页面最后用我的调试器加载更改的JS脚本文件;入口和断点设置

答案 5 :(得分:0)

我经常遇到这个问题。通常我所做的是首先进入安装操作系统的驱动器(在我的情况下为C:),并删除所有application.dllapplication.pdb(它存储在Windows\Microsoft.net\Framework\vx.x.xxxxx\Temporary ASP.NET Files中})。删除application.dll中的application.pdbusers\xxx。进入应用程序目录并再次删除application.dllapplication.pdb。清除浏览器缓存。重启系统(冷启动)。构建应用程序。大部分时间都在发挥作用。 注意:我使用DOS提示进行删除,因为我已经习惯了。但是用户应该具有管理员权限。它不是一个完美的解决方案,但它的工作原理。

答案 6 :(得分:0)

找到将JavaScript文件加载到页面的代码部分,并在末尾添加参数字符串以进行测试。例如:

更改src =“../ Resources / js / MyScriptFile.js”

to src =“../ Resources / js / MyScriptFile.js?v = 23”

每次更新JavaScript文件时,都会更改版本号。这将强制浏览器加载新版本的JavaScript文件。完成测试后,您可以删除字符串“?v = 23”。奖金,如果您将其留在那里,在将代码部署到生产后,最终用户将不需要刷新他/她的浏览器缓存。

答案 7 :(得分:0)

所以我遇到了同样的问题,我可以通过取消.ASP.NET-Server来避免这种情况 .ASP.NET-Server from Visual Studio for debugging  从Visual Studio并重新启动调试。希望这有助于某人。

答案 8 :(得分:-2)

我重新启动Visual Studio并重建了项目,但问题仍然存在 - 调试器继续运行.js文件的旧副本。我的解决方案是简单地重启机器。 (当所有其他方法都失败时......)

供参考,我目前正在使用Visual Studio 2015。