Раньше у меня был .js-файл в /Public/javascripts/jquery1.1js
.Cassette.AssetReferenceException увольняется при удалении файла из папки
Все работает отлично, но тогда мне нужно было удалить этот файл из моего проекта, поэтому я просто удалил его из решения в Visual Studio.
Теперь, когда я посещаю мое приложение, я получаю:
Reference ошибка в "~/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».
Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения более информации об ошибке и ее месте в коде.
Сведения об исключении: 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».
Вот StackTrace:
[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: " Hey, this file is no longer relevant. Scan the folder again and rebuild a list of files you need to work with.
"
Но я просто не знаю, как это осуществить.
documentation не упоминает об этом и просто подразумевает, что он должен делать это автоматически для меня.
Вот мой класс конфигурации:
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>