我有一个MVC4 web应用程序,我正试图将其发布为Azure web角色。该网站正在利用Metro。
总的来说,发布的web角色的功能与预期的一样,但我遇到的问题是CSS生成的内容。例如,以麦德龙UI modern.css中的图标为例:
.metrouicss .icon-arrow-right-3:before {
content: "\e09d";
}生成的内容对应于相关字体文件中的下列字形:
<glyph unicode="" d="M 288.00,352.00L 224.00,352.00L 320.00,256.00L 128.00,256.00L 128.00,192.00L 320.00,192.00L 224.00,96.00L 288.00,96.00L 416.00,224.00 zM 256.00,480.00C 114.615,480.00,0.00,365.385,0.00,224.00s 114.615-256.00, 256.00-256.00s 256.00,114.615, 256.00,256.00S 397.385,480.00, 256.00,480.00z M 256.00,0.00
C 132.288,0.00, 32.00,100.288, 32.00,224.00S 132.288,448.00, 256.00,448.00s 224.00-100.288, 224.00-224.00S 379.712,0.00, 256.00,0.00z" />在本地运行应用程序时,以及在本地运行云模拟器时,这些图标css类的使用将如预期的那样工作:

但是,已发布的版本没有显示图标图像:

在web项目中,图标字体文件的生成操作内容(不要复制)就像css文件一样。
Azure web角色发布和/或识别生成的内容是否需要特定的配置设置?或者其他的一些提示来找出发布的实例的问题所在?
发布于 2013-11-16 04:02:19
正如我在另一个答案中提到的,更改CSS文件包的名称。问题来了,因为metroUI使用相对路径查找图标字体(它上升一级,然后查找字体文件夹),无法找到该文件夹。
因此,如果您要捆绑您的metroUI css文件,如:
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/css/modern.css",
"~/Content/css/modern-responsive.css"));将其更改为
bundles.Add(new StyleBundle("~/Content/css/metroUI").Include(
"~/Content/css/modern.css",
"~/Content/css/modern-responsive.css"));这应该能起作用。
https://stackoverflow.com/questions/20009880
复制相似问题