答案1 这通常可以通过删除%localappdata%\temp\WebCompiler???
文件夹来解决。
有时您需要重新启动VS,有时您不需要。
不适用于所有人,但似乎适用于很多人。
答案2 对于那些有兴趣,我发现了另一个答案,这似乎提供了一个额外的附带好处。
如果添加了Razor视图到项目中(我把它命名JsHelper.cshtml
和\Views\Shared
添加的话),并使用下面的内容(添加多余的换行符,使其适合在SO宽度)...
@model string
@{
string ext = HttpContext.Current != null
&& HttpContext.Current.Request.Url.Host.Contains("localhost")
? ""
: ".es5.min";
}
<script src="/Scripts/@[email protected](ext).js" type="text/javascript"></script>
...然后,而不是添加这样的脚本标签...
<script src="/Scripts/General.es5.min.js" type="text/javascript"></script>
...您可以添加此...
@Html.Partial("~/Views/Shared/JsHelper.cshtml", "General")
当您在Visual Studio中运行网站时,将使用未编译版本的Javascript文件。在其他地方(例如生产服务器上)运行时,将使用.es5.min.js
版本。
由于发布Web项目涉及构建它,它将编译.js文件,因此您可以确信已发布的已编译和缩小的文件是最新的。
这有一个副作用,即在浏览器中调试脚本时,您可以访问.js
文件的完整版本,而不是直接引用它们时得到的编译和缩小版本。由于最新版本的Web编译器中发生的另一个重大变化是编译时不再生成.map.js
文件,这是一个巨大的副作用。
希望这会有所帮助。