【发布时间】:2013-11-15 04:28:04
【问题描述】:
我正在尝试让捆绑在 ASP.NET MVC 4 中工作。我从为捆绑的 CSS 生成的链接中收到 404 错误。我做了以下事情:
通过 NuGet (v4.0.20710.0) 安装“Microsoft ASP.NET Web 优化框架”包
-
在 App_Start 目录中创建了一个 BundleConfig 类,内容如下:
using System.Web.Optimization; namespace BsdAppTemplate.Web_Nancy.App_Start { public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new StyleBundle("~/bundles/styles/cvi").Include( "~/mainstyles.css" )); } } } -
在站点根目录的 Web.config 中添加了以下内容:
<system.web> <compilation debug="false" targetFramework="4.5" /> <pages> <namespaces> <add namespace="System.Web.Optimization"/> ... </namespaces> </pages> </system.web> -
在我的 MVC 布局文件的 head 元素中添加了以下内容:
@Styles.Render("~/bundles/styles/cvi") 将 BundleConfig 中引用的 CSS 文件(“mainstyles.css”)复制到我的 Web 项目的根目录中。
当我查看渲染文件的源代码时,我可以看到链接显示为:
<link href="/bundles/styles/cvi" rel="stylesheet"/>
当浏览到此链接或在 Chrome 的网络标签中查看页面请求时,此链接会导致 404。
我也在网络表单上尝试了等效的方法,但我从添加时生成的链接中得到了相同的结果 (404):
<%: Styles.Render("~/bundles/styles/cvi") %>
【问题讨论】:
-
根据您的描述,您似乎已经“手动”创建了
BundleConfig类,您确定在您的Application_Start方法中调用了正确的RegisterBundles方法吗? -
@tpeczek - 谢谢,这正是我所缺少的。如果您将此作为答案而不是评论重新输入,我会将其标记为答案。另外,有没有其他方法可以手动设置?我在关注这个博客:asp.net/mvc/tutorials/mvc-4/bundling-and-minification
标签: c# asp.net asp.net-mvc asp.net-mvc-4 bundle