无论 .NET 运行的是 4.0 还是 4.5,CSS 和脚本捆绑都应该有效。我正在运行 .NET 4.0,它对我来说很好。但是,为了使缩小和捆绑行为正常工作,您的 web.config 必须设置为不在调试模式下运行。
<compilation debug="false" targetFramework="4.0">
使用 _Layout.cshtml 文件中的 jQuery UI 示例的这个包。
@Styles.Render("~/Content/themes/base/css")
如果我运行,debug="true"
我会得到以下 HTML。
<link href="/Content/themes/base/jquery.ui.core.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.resizable.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.selectable.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.accordion.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.autocomplete.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.button.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.dialog.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.slider.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.tabs.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.datepicker.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.progressbar.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.theme.css" rel="stylesheet"/>
但是,如果我运行debug="false"
. 我会得到这个。
<link href="/Content/themes/base/css?v=myqT7npwmF2ABsuSaHqt8SCvK8UFWpRv7T4M8r3kiK01" rel="stylesheet"/>
这是一项功能,因此您可以轻松调试脚本和 CSS 文件的问题。我正在使用 MVC4 RTM。
如果您认为这可能是 MVC 依赖问题,我建议您进入 Nuget 并删除所有与 MVC 相关的包,然后搜索该Microsoft.AspNet.Mvc
包并安装它。我正在使用最新版本,它以 v.4.0.20710.0 的形式出现。这应该会获取您需要的所有依赖项。
此外,如果您曾经使用 MVC3 而现在尝试使用 MVC4,您将需要进入您的 web.config(s) 并更新它们的引用以指向 MVC 的 4.0 版本。如果您不确定,您可以随时创建一个新的 MVC4 应用程序并从那里复制 web.config。如果您这样做,请不要忘记 Views/Areas 文件夹中的 web.config。
更新:我发现你需要的是Microsoft.AspNet.Web.Optimization
安装在你的项目中的 Nuget 包。无论您将目标框架指定为 4.5 还是 4.0,它都默认包含在 MVC4 RTM 应用程序中。这是包含捆绑类的命名空间,并且似乎不依赖于框架。我已经部署到没有安装 4.5 的服务器上,它仍然可以按预期工作。只需确保 DLL 与您的应用程序的其余部分一起部署即可。