我们能够解决VS2013发布期间呈现字体的问题。
" app.css "中的字体网址和" style.css "字体指向一个位置,例如" fonts / icomoon.eot "从技术上讲,它无法根据 IIS 的目录浏览找到特定路径。
我们通过添加" / Content / stylesheets / "更改了它所有当前的字体网址看起来像" /Content/stylesheets/fonts/icomoon.eot " 并且工作。
但是我们仍然不明白为什么调试模式可以使用我们的css文件的先前网址并且字体呈现正常。
你能建议任何修复吗?或者我们的修复是否正常(手动编辑css文件中的font-urls )?
答案 0 :(得分:2)
我们找到了更好的字体问题解决方案。
asp.net捆绑是为什么他们在调试和发布模式之间的结果不同的原因。
默认情况下,如果编译处于调试模式,则捆绑将关闭,而如果处于释放模式,则会打开它。
要解决这个问题,我们已经在发布模式下关闭了asp.net捆绑,方法是将这些行添加到 BundleConfig.Cs 。
BundleTable.EnableOptimizations = false;
asp.net捆绑的作用是为所有css和js文件创建一个虚拟目录。问题是它找不到css文件中url(特别是字体)的路径。
但我们尝试过的另一个解决方案是:
bundles.Add(new StyleBundle("~/bundles/LayoutCss").Include(
"~/Content/stylesheets/style.css", new CssRewriteUrlTransform() )
.Include("~/Content/stylesheets/app.css", new CssRewriteUrlTransform() )
.Include("~/Content/bower_components/slick/dist/slick.css"));