9

基本上我得到了以下HTML:

<button class="disabled btn-primary btn" type="submit" disabled="">
   <i class="glyphicon glyphicon-ban-circle"></i>
   Log in
</button>

在本地,按钮上的图标显示正常,但是当我在 Windows Azure 上运行时,我得到以下按钮,其前缀看起来很奇怪,而不是图标:

在此处输入图像描述 对此进行调查,我意识到当在本地访问我的网站时,浏览器会尝试加载文件:/Content/fonts/glyphicons-halflings-regular.woff(它成功地完成了),而在线时(在天蓝色上)它会尝试加载加载位置:/fonts/glyphicons-halflings-regular.woff

为什么它没有在本地放置 /Content 前缀。

我使用的是标准引导文件,它与本地和在线运行的网站完全相同。

我也通过以下方式捆绑内容:

    bundles.Add(new StyleBundle("~/Content/bootstrapcss").Include(
                "~/Content/bootstrap/bootstrap.css"));

文件结构如下所示:

在此处输入图像描述

bootstrap 也在寻找这样的文件:

url('../fonts/glyphicons-halflings-regular.woff') 

所以我想它会在 Content 文件夹中查找,而不是 root,因为它当前位于 Content/bootstrapcs 文件夹中。

4

5 回答 5

15

我们最近遇到了类似的问题(尽管我们使用的是metroUI- http://metroui.org.ua/)。本质上,事实证明我们正在捆绑 css 文件,因此当我们在 Windows Azure 中部署应用程序时,没有加载任何字体。

在我们的例子中,我们有以下目录结构:

在此处输入图像描述

而modern.css 则引用了类似的字体

../fonts/iconFont.eot

我们像这样捆绑css文件:

bundles.Add(new StyleBundle("~/Content/css").Include(
                "~/Content/css/modern.css",
                "~/Content/css/modern-responsive.css"));

由于捆绑,应用程序正在寻找/fonts应用程序根目录中的字体,而这显然不存在。

长话短说,我们最终更改了捆绑包名称:

bundles.Add(new StyleBundle("~/Content/css/metroUI").Include(
                "~/Content/css/modern.css",
                "~/Content/css/modern-responsive.css"));

更改捆绑包名称后,事情就开始正常工作了。

于 2013-10-29T17:20:37.020 回答
2

改变路径确实有效,但“已回答的问题”错过了一个关键点。

如果你使用_Layout.cshtml的是引用捆绑包,这将不再在本地和 Azure 上工作。

您也需要更新_Layout.cshtml页面!

因此,如果您将捆绑路径从更改Content/css为 ,Scripts/css则需要分别更改_Layout.cshtml@Styles.Render("~/Scripts/css")

于 2018-02-24T13:12:27.510 回答
1

发布到 Azure Web 服务时,使用 ASP.NET Core 2.0 MVC Web 应用程序遇到此错误。

我在下面的代码中有我的样式表。

 <environment include="Development">
        <link href="https://fonts.googleapis.com/css?family=Coda" rel="stylesheet">
        <link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-blue.min.css" />
        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="~/css/site.css" />
 </environment>

只需将链接复制并粘贴到开发之外的任何环境中即可

<environment exclude="Development">
  <link href="https://fonts.googleapis.com/css?family=Coda" rel="stylesheet">
  <link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-blue.min.css" />
  <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
  <link rel="stylesheet" href="~/css/site.css" />
  <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css" asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css" asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
  />
  <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
于 2018-08-21T00:21:38.720 回答
0

如果您下载了包含引导图标的 theme.zip 或 theme.rar,请在解压之前执行以下操作:

  • 右键点击压缩包
  • 如果可见,请选中“取消阻止”框
于 2015-12-15T21:45:24.783 回答
0

为了使图标正常工作-我必须在图像所在的文件夹上将文件夹权限设置为“everyone = read”

于 2017-05-24T17:08:26.050 回答