我曾经在 .js 中有一个 .js 文件/Public/javascripts/jquery1.1js
。
一切正常,但后来我需要从我的项目中删除这个文件,所以我只是从 Visual Studio 的解决方案中删除了它。
现在,当我访问我的应用程序时,我得到:
“~/Public/javascripts/jquery.unobtrusive-ajax.js”中的参考错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。“~/Public/javascripts/jquery.validate.unobtrusive.js”中的参考错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:Cassette.AssetReferenceException:“~/Public/javascripts/jquery.unobtrusive-ajax.js”中的引用错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。“~/Public/javascripts/jquery.validate.unobtrusive.js”中的参考错误,第 1 行。找不到“~/Public/javascripts/jquery-1.5.1.js”。
这是一个堆栈跟踪:
[AssetReferenceException: Reference error in "~/Public/javascripts/jquery.unobtrusive-ajax.js", line 1. Cannot find "~/Public/javascripts/jquery-1.5.1.js".
Reference error in "~/Public/javascripts/jquery.validate.unobtrusive.js", line 1. Cannot find "~/Public/javascripts/jquery-1.5.1.js".]
Cassette.BundleContainer.ValidateAssetReferences() +387
Cassette.BundleContainer..ctor(IEnumerable`1 bundles) +41
当然,我知道为什么会这样,Cassette 仍在尝试查找已删除的文件,但我不知道如何告诉 Cassette:“ Hey, this file is no longer relevant. Scan the folder again and rebuild a list of files you need to work with.
”
但我只是不知道如何做到这一点。
该文档没有提及这一点,只是暗示它应该为我自动执行此操作。
这是我的配置类:
using Cassette.Configuration;
using Cassette.Scripts;
using Cassette.Stylesheets;
namespace XXX.WebUI
{
/// <summary>
/// Configures the Cassette asset modules for the web application.
/// </summary>
public class CassetteConfiguration : ICassetteConfiguration
{
public void Configure(BundleCollection bundles, CassetteSettings settings)
{
bundles.AddPerIndividualFile<ScriptBundle>("Public/javascripts/");
bundles.AddPerIndividualFile<StylesheetBundle>("Public/stylesheets/");
}
}
}
在我的 _Layout.cshtml 文件中:
@{
Bundles.Reference("Public/javascripts/site.js");
Bundles.Reference("Public/javascripts/jquery.validate.unobtrusive.js");
Bundles.Reference("Public/stylesheets/site.less");
}
<!DOCTYPE html>
...
<head>
<title>@ViewBag.Title</title>
@Bundles.RenderStylesheets()
...
@Bundles.RenderScripts()
</body>