我意识到这已经通过网络提出,但我似乎无法找到关于如何解决这个问题的明确答案。
这就是我们捆绑的方式
// iPortal Specific
bundles.Add(new StyleBundle("~/bundles/css/MyCSS")
.Include("~/Content/css/MyCSS.css")
.Include("~/Content/css/MyCSSMedia.css"));
然后在_layouts页面内: -
@Styles.Render("~/bundles/css/MyCSS")
其中" ~bundles / css / MyCSS"是一个虚拟目录,因为它不存在于服务器上。
我们的CSS结构是: -
Content
CSS
MyCSS.css
_Images
其中MyCSS.css引用" _images"中的图像。夹
我们尝试过使用
.Include("~/Content/css/MyCSS.css", new CssRewriteUrlTransform())
哪个不起作用。
并尝试了
public class CssRewriteUrlTransformWrapper : IItemTransform
{
public string Process(string includedVirtualPath, string input)
{
return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
}
}
再次,这是行不通的。
我们发现的唯一其他解决方案是更改虚拟目录以匹配物理目录,这并不是真的感觉正确,
我们错过了什么吗?
答案 0 :(得分:0)
我认为当您在html中提取生成的css文件时,它看起来像这样:
束/的CSS
图像位于:
内容/图片
CSS指向bundles/_Images
,显然不存在。
我认为你有两个选择:
CssRewriteUrlTransformWrapper
中的图片路径替换为../Content/_Images