我的BundleConfig中有以下包:
bundles.Add(new StyleBundle("~/Content/Basic/globalCss").Include("~/Content/Basic/global.css"));
我使用以下内容来渲染CSS包:
@Styles.Render("~/Content/Basic/globalCss")
在我的本地计算机(调试环境)上,CSS文件通过其绝对路径包含/加载。我有编译关闭/ false调试,所以这是有道理的。当我推送到QA环境(编译打开/ true)时,我看到页面中包含以下虚拟路径:
<link href="/Content/globalbasicCss?v=6i8x1Cxf8pXm5g9uxAk8-wcO02DFmeAgYLWpJk-3r_g1" rel="stylesheet">
这是我以前的旧虚拟路径~/Content/globalbasicCss
。
为什么我的捆绑包没有使用我提供的新虚拟路径~/Content/Basic/globalCss
?这是因为捆绑包中包含的CSS文件没有任何变化吗?
答案 0 :(得分:0)
这是捆绑和缩小功能。您的CSS捆绑包已缩小,如果您有更多文件,它们将捆绑在一个文件中。
当您通常使用web.config设置
构建发布模式时会发生这种情况<compilation debug="false">
此处提供更多信息 - http://www.asp.net/mvc/overview/performance/bundling-and-minification
答案 1 :(得分:0)
原来我需要对实际捆绑的CSS文件进行更改,以便更新该捆绑软件虚拟路径。我不确定为什么会这样,并且会感谢任何对ASP.NET捆绑有更好理解的人解释为什么会这样发生。