首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件夹中删除文件时被触发的Cassette.AssetReferenceException

从文件夹中删除文件时被触发的Cassette.AssetReferenceException
EN

Stack Overflow用户
提问于 2012-04-10 16:08:58
回答 2查看 1.2K关注 0票数 1

我以前在/Public/javascripts/jquery1.1js中有一个/Public/javascripts/jquery1.1js文件。

一切都很完美,但是我需要从我的项目中删除这个文件,所以我只是从Visual中的解决方案中删除了它。

现在,当我访问我的申请时,我得到:

"~/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请求时发生了未处理的异常。请查看堆栈跟踪以获得有关错误的更多信息,以及它起源于代码的位置。 异常详细信息:"~/Public/javascripts/jquery.unobtrusive-ajax.js",第1行中的Cassette.AssetReferenceException:引用错误。无法找到"~/Public/javascripts/jquery-1.5.1.js“。"~/Public/javascripts/jquery.validate.unobtrusive.js",第1行中的引用错误无法找到"~/Public/javascripts/jquery-1.5.1.js“。

这里有一个堆栈跟踪:

代码语言:javascript
复制
[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

当然,我知道为什么会发生这种情况,录音带仍在试图找到已删除的文件,但我不知道如何告诉磁带:"Hey, this file is no longer relevant. Scan the folder again and rebuild a list of files you need to work with.

但我只是不知道该怎么做。

文档没有提到这一点,只是暗示它应该自动为我这样做。

下面是我的配置类:

代码语言:javascript
复制
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文件中:

代码语言:javascript
复制
@{
    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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-11 22:18:19

jquery.validate.unobtrusive.js文件是否在顶部包含对jquery-1.5.1.js的JavaScript引用?

这条线看起来应该是:

代码语言:javascript
复制
 /// <reference path="jquery-1.5.1.js" />

如果是这样的话,就移除这一行。盒式磁带使用这些引用来确定生成顺序。

参考文献:http://getcassette.net/documentation/scripts

票数 2
EN

Stack Overflow用户

发布于 2013-07-10 16:58:47

如果使用同一个根目录引用文件,也可能发生这种情况。

例如easyXDM.js和easyXDM.debug.js

当您引用easyXMD.js时,它会给出异常,解决方案似乎是使用不同的命名约定,以确保根不同,比如easyXMDdebug.js。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10092360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档