asp.net @Scripts.Render(“~/bundles/bootstrap”)正在引发空引用异常

7tofc5zh  于 2023-02-26  发布在  .NET
关注(0)|答案(4)|浏览(379)

我正在处理此ASP.NET MVC项目。我没有对_Layout. cshtml或BundleConfig.cs或Web.config进行任何更改。当我运行此项目时,它显示以下异常:
System.NullReferenceException:'对象引用未设置为对象的示例。'[外部代码] ASP._Page_Views_Shared__Layout_cshtml. Execute()in_Layout. cshtml
我试过缩小的方法,但仍然失败。如果可以查看,请检查下面的照片。
有人能帮我解决这个问题吗?
Picture01
Picture02
Pciture03

roejwanj

roejwanj1#

替换以下内容:

bundles.Add(new ScriptBundle("~/bundles/mybundle").Include(
            "~/Scripts/...",
            "~/Scripts/..."));

用这个

bundles.Add(new Bundle("~/bundles/mybundle").Include(
            "~/Scripts/...",
            "~/Scripts/..."));
uhry853o

uhry853o2#

在方法BundleConfig.RegisterBundles中,我将ScriptBundle的所有现有示例替换为Bundle的示例,它按预期工作。

tpgth1q7

tpgth1q73#

在升级所有NuGet包(特别是Bootstrap 5.1)后,旧的Web API项目也会出现同样的问题

    • VS 2019 * 中的新默认Web API项目在 * 将其包升级到Bootstrap 5.1后 * 也会发生同样的情况-_Layout.cshtml中出现NullReferenceException!

显然ASP.NET项目尚未正确处理Bootstrap 5.1的依赖项-
降级(通过VS Nuget Manager)到最新可用的4.x版本解决了我的项目的问题。

knpiaxh1

knpiaxh14#

Akanksha提供的建议解决方案解决了我将一个较旧的ASP.NETWebAPI项目从Bootstrap 3.x升级到5.1.x后最初描述的问题
在方法BundleConfig.RegisterBundles中,我将ScriptBundle的所有现有示例替换为Bundle的示例,它按预期工作。

bundles.Add(new Bundle("~/bundles/bootstrap").Include(
    "~/Scripts/bootstrap.js",
    "~/Scripts/respond.js"));

相关问题