在发布模式下找不到字体和图像

时间:2015-07-27 09:14:29

标签: css asp.net-mvc bundle

我的网络应用程序包含一些内容(图像,字体等)。我试图看看它在发布模式下是如何工作的,所有布局崩溃导致字体和图像都是“未找到”。

这种行为可能是什么原因以及如何解决?

我发现的内容 - 我的图片位于文件夹Content/images/中。在调试模式下,应用程序按该路径查找图像,但在发布模式下,它会跳过文件夹Content/并尝试查找images/

  body {
    margin: 0 auto;
    font-family: Arial;
    font-size: 12px;
    background: url(images/main_bg.jpg) repeat center top fixed;
    background-size: 100%;
    vertical-align: top;
    font-weight: normal;
  }

这就是我在CSS中使用图像的方式

bundles.Add(
            new StyleBundle("~/layout-styleNew")
                .Include("~/Content/bootstrap/css/*.css")
                .Include("~/Content/bootstrap/flatly/*.css")
                .Include("~/Content/helpful.css")
                .Include("~/Content/styleNew.css")
                .Include("~/Content/css/ToastMsg/css/*.css")
                .Include("~/Content/css/jquery-ui/*.css"));

<head>
   <meta charset="utf-8" />
   <meta name="viewport" content="width=device-width" />
   <title>@this.ViewBag.Title</title>

   @Scripts.Render("~/layout")
   @Styles.Render("~/layout-styleNew")
   @RenderSection("head", false)

</head>

1 个答案:

答案 0 :(得分:1)

你的问题是实际路径。

在CSS中你有:

background: url(images/main_bg.jpg) repeat center top fixed;

这意味着客户正在寻找名为&#34; images&#34;的文件夹。在与CSS相同的文件夹中。在调试中,这是找到CSS文件的Content文件夹的子文件。

但是当你捆绑时,客户端会在根文件夹中看到CSS,因此创建一个相对于root的路径。

您需要为捆绑包提供一个与真实路径足够相似的名称,以便正确解析剩余路径。也许&#34; Content / AllStyles&#34;?