Visual Studio 2012 没有为 ASP.NET MVC4 项目选择最新编译的 TypeScript



如何强制Visual Studio 2012始终使用TypeScript创建的生成的JavaScript文件的最新版本?

我在项目文件中使用以下定义:

<Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)Microsoft SDKsTypeScript.8.0.0tsc&quot; -out scriptsapp.js scriptsapp.ts  -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" IgnoreExitCode="true" />
  </Target>

当我清理并重建项目时,app.js 会相应地更新。

但是,出于某种奇怪的原因,当我尝试使用Internet Explorer调试解决方案时,Visual Studio使用的是过时的app.js版本,这使我的断点无效。

这是怎么回事?

这里最可能的问题并不是TypeScript或JavaScript - Internet Explorer只是缓存JavaScript文件并使用过时的版本。

如果要引用单个脚本,则可以通过更改 URI 的任意部分来缓存破坏它:

<script src="myscript.js?1"></script>

如果每次要替换缓存版本时都递增 1,则会导致加载新脚本。您可以通过转储时间戳代替 1 来自动执行此操作。

如果您使用的是我在 MVC4 中推荐的捆绑,捆绑器将附加脚本的哈希,这执行相同的操作。

最新更新