当我在没有调试的情况下更改为运行时,我的捆绑不包含html中的正确路径。它正在删除文件名。
using System.Web;
using System.Web.Optimization;
namespace Search
{
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.UseCdn = true;
var jqueryuiCdnPath = "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js";
var knockoutCdnPath = "http://ajax.aspnetcdn.com/ajax/knockout/knockout-2.2.1.js";
var modernizerCdnPath = "";
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery.printPage.js"
));
bundles.Add(new ScriptBundle("~/bundles/jqueryui", jqueryuiCdnPath).Include(
"~/Scripts/jquery-ui-{version}.custom.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/knockout", knockoutCdnPath).Include(
"~/Scripts/knockout-2.1.0.debug.js"));
// 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/scpa").Include(
"~/Scripts/scpa.js"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/NewSite.css").Include("~/Content/PagedList.css"));
bundles.Add(new StyleBundle("~/Content/themes/redmond").Include(
"~/Content/themes/redmond/jquery-ui-{version}.custom.css"));
}
}
}
我的_layout.cshtml中的这些行
@Styles.Render("~/content/themes/redmond")
@Styles.Render("~/content/css")
在启用调试的情况下生成以下html
<link href="/Content/themes/redmond/jquery-ui-1.10.3.custom.css" rel="stylesheet"/>
<link href="/Content/NewSite.css" rel="stylesheet"/>
<link href="/Content/PagedList.css" rel="stylesheet"/>
但是关闭调试后会生成
<link href="/content/themes/redmond?v=vAH9QfqxdFYSzS_GtpWa8fGJ5s-xvZ9vhODh9AGxIbo1" rel="stylesheet"/>
<link href="/content/css?v=3o7zDFviiGqrSMyW4LTNH-J9tRGdIoONnnh_FMEm4Mg1" rel="stylesheet"/>
答案 0 :(得分:8)
这就是应该如何生成的。
虽然您的第一个捆绑包可能无法正常工作 - 但您无法为捆绑包名称提供与现有文件夹相同的名称。重命名第二个StyleBundle,如:
bundles.Add(new StyleBundle("~/Content/cssRedmond").Include(...
因为它生成的链接会起作用,因为它不会与另一个文件夹冲突:
<link href="/content/cssRedmond?v=..." //This is OK
<link href="/content/themes/redmond?v=..." //Not OK. Conflicts with folder