Asp.net mvc 无法识别捆绑的脚本/css

Asp.net mvc 无法识别捆绑的脚本/css,asp.net-mvc,bundling-and-minification,asp.net-optimization,Asp.net Mvc,Bundling And Minification,Asp.net Optimization,我对捆绑和缩小非常陌生,我第一次尝试在我的MVC项目中实现它 我添加了一个BundleConfig.cs文件: public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { //libs scripts bundles.Add(new ScriptBundle("~/bundles/jquery").Include(

我对捆绑和缩小非常陌生,我第一次尝试在我的MVC项目中实现它

我添加了一个BundleConfig.cs文件:

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        //libs scripts
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/libs/jquery/jquery-{version}.js",
        "~/Scripts/libs/jquery/jquery-ui-{version}.js",
        "~/Scripts/libs/jquery/jquery.mask*",
        "~/Scripts/libs/jquery/jquery.validate*"));

        bundles.Add(new ScriptBundle("~/bundles/ko").Include(
        "~/Scripts/libs/ko/knockout-{version}.js"));

        //site scripts
        bundles.Add(new ScriptBundle("~/bundles/site").Include(
                    "~/Scripts/site/*.js"));

        bundles.Add(new StyleBundle("~/Content/site/").Include("~/Content/site/*.css"));
    }
}
并在Global.asax中添加:

BundleConfig.RegisterBundles(BundleTable.Bundles);
然后,我在布局页面中呈现脚本/css:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title</title>
    @Styles.Render("~/Content/site/Fonts.css")
    @Styles.Render("~/Content/site/Site.css")
    @RenderSection("styles", required: false)

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/ko")
    @Scripts.Render("~/bundles/site")
    @RenderSection("scripts", required: false)
</head>

@视图包。标题
@style.Render(“~/Content/site/Fonts.css”)
@style.Render(“~/Content/site/site.css”)
@RenderSection(“样式”,必填项:false)
@Scripts.Render(“~/bundles/jquery”)
@Scripts.Render(“~/bundles/ko”)
@Scripts.Render(“~/bundles/site”)
@RenderSection(“脚本”,必需:false)
但这不起作用,我不断收到各种各样的错误,表明脚本和css没有被识别

例如:

未捕获引用错误:未定义jQuery


我做错了什么?

看这里你添加了2倍于所有脚本文件

您已经添加了绑定jquery、ko和站点的引用

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/ko")
@Scripts.Render("~/bundles/site")
那么就不需要再添加这些文件了

<script src="~/Scripts/Libs/jquery/jquery-3.1.1.min.js"></script>
<script src="~/scripts/libs/jquery/jquery-ui-1.12.1.min.js"></script>
<script src="~/Scripts/Libs/jquery-mask/jquery.mask.min.js"></script>
<script src="~/Scripts/Libs/knockout/knockout-3.4.1.js"></script>
<script src="~/Scripts/Site/Site.js"></script>

根据@BasantaMatia的评论,我的想法是,设置:

BundleTable.EnableOptimizations = true
在Global.asax文件中,在以下位置之后:

BundleConfig.RegisterBundles(BundleTable.Bundles);

解决了问题。

不要手动添加文件并使用捆绑包-删除所有
@StephenMuecke谢谢,我没有这两个文件,我错误地复制了它…您是否复制了主视图中的任何文件?@StephenMuecke否,我仔细检查了一下。您是否检查了浏览器工具中的“源”选项卡以查看它们是否已加载。请参阅我上面的评论。能否在BundleConfig文件中的RegisterBundles(BundleCollection bundles)方法之后添加这一行“BundleTable.EnableOptimizations=false;”,然后进行检查