【问题标题】:New MVC5 project and bundling 404 issue [duplicate]新的 MVC5 项目和捆绑 404 问题 [重复]
【发布时间】:2015-04-30 15:01:53
【问题描述】:

我刚刚创建了一个全新的项目,并使用 Nuget 来获取 bootstrap 和其他 js 相关文件。

我的捆绑包如下所示:

public class BundleConfig
    {
        // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                "~/Scripts/jquery.validate*"));

    // Use the development version of Modernizr to develop with and learn from. Then, when you're
    // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
    bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                "~/Scripts/modernizr-*"));

    bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
              "~/Scripts/bootstrap.js"));

    bundles.Add(new StyleBundle("~/Content/css").Include(
              "~/Content/bootstrap.css",
              "~/Content/Site.css"));
}
}

这是我的布局视图:

@using System.Web.Optimization
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>
<body>
    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                @Html.ActionLink("Milford Golfers Association", "Index", "Home", null, new { @class = "navbar-brand" })
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                </ul>
            </div>
        </div>
    </div>

    <div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year - My ASP.NET Application</p>
        </footer>
    </div>

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)
</body>
</html>

但是,当页面被调试时,我得到以下信息:

我已经尝试过在网络配置中将调试标志设置为falsetrue,这似乎是其他人的解决方案。

【问题讨论】:

  • 如何渲染包?请包含您认为的代码。
  • 对不起,我以为我已经添加了它,更新了。

标签: asp.net-mvc-5


【解决方案1】:

确保您已安装 Microsoft.Web.Optimization Nuget 包。没有它,捆绑配置实际上不会做任何事情。

【讨论】:

  • 我确实已经安装了软件包,但仍然收到同样的错误
  • 这很奇怪。捆绑包真的没有那么复杂。如果你有那个 nuget 包,它应该可以工作。唯一会阻止创建捆绑包的另一件事是是否已经存在同名目录。例如,Content/css 目录存在是很常见的,这将破坏引用为~/Content/css 的包。但是,我怀疑所有这些都是如此。
  • 也许尝试强制删除软件包并重新安装它。也许它以某种方式损坏了。在 Package Manager Console 中,运行 uninstall-package Microsoft.Web.Optimization -Force,然后运行 ​​install-package Microsoft.Web.Optimization。确保在“默认项目”下拉列表中选择了正确的项目。除此之外,尝试生成一个新的 MVC 项目并让包在那里工作。然后,您可以移动在现有项目中添加或自定义的任何文件。
  • 发现问题,当您创建一个新的 MVC5 空项目并拉入该 nuget 包时,发现缺少的位是来自 App_Start 的 BundleConfig.RegisterBundles(BundleTable.Bundles);
  • 现在还有一个免费版本的 Visual Studio,非常适合 Web 开发需求。
猜你喜欢
  • 1970-01-01
  • 2015-09-22
  • 2017-08-04
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-15
  • 2017-03-21
相关资源
最近更新 更多