【问题标题】:Setting ASP.NET Core 2.0 favicon设置 ASP.NET Core 2.0 favicon
【发布时间】:2020-04-18 18:54:59
【问题描述】:

我正在尝试添加和设置 favicon.ico。

当我看到 Visual Studio 2017 自动生成的初始项目时,favicon.ico 文件就在wwwroot 目录中,并且没有任何设置。

所以,我将 favicon 文件添加到 wwwroot 目录中。 但该图标不会出现在任何浏览器中。

如何在 ASP.NET Core 2.0 中设置网站图标?

【问题讨论】:

  • 有可能是缓存。如果您打开没有网站图标的网站,浏览器会记住没有网站图标。尝试在其他浏览器中打开。当前的将在几天后更新缓存。
  • 感谢@lilo.jacob 的想法 - shift f5 成功了!
  • @lilo.jacob 使用 Chrome,即使在隐身模式下也不会显示新图标。更改为 Edge 它出现了。我认为隐身模式会在没有任何缓存的情况下启动,但它似乎仍然是普通窗口中的一些“内存”。

标签: asp.net-core favicon


【解决方案1】:

wwwroot/index.html 文件包含指向 favicon 的链接。

<link rel="icon" type="image/x-icon" href="favicon.ico">

是将网站图标添加到网站的代码。

对于 .net 核心单页应用程序 (SPA) 项目,网站图标将从其各自的静态文件中呈现。例如,如果使用 Angular 作为客户端应用程序,则在 srcindex.html 中有 index.html 文件,您可以使用以下代码链接您的网站图标

<link rel="icon" type="image/x-icon" href="favicon.ico">

【讨论】:

  • 嗨,如果它是 web-api 怎么办?例如,您将如何为 asp.net 核心 web-api 设置 favicon?
  • @CharlesOkwuagwu 我已经更新了我的答案,请尝试一次。
【解决方案2】:

在 _Layout.cshtml 中包含,

<link rel="shortcut icon" href="//.../content/images/favicon.ico" />

【讨论】:

    【解决方案3】:

    如果您的 favicon.ico 文件位于 wwwroot 文件夹中,并且在浏览器尝试获取 favicon.ico 时仍然出现 404 错误,请确保您的 Startup.cs 中有 app.UseStaticFiles(); -> public void Configure(IApplicationBuilder app, IHostingEnvironment env)

    请阅读 Static files in ASP.NET Core了解详情。

    如果您在 wwwroot 而不是任何子文件夹中添加 favicon.ico,则无需在 html 或 cshtml 中添加 &lt;link ... 标签。

    【讨论】:

      【解决方案4】:

      只是为任何在此问题上苦苦挣扎的人提供的提示。如果您从 .net core 2(角度、反应、其他)提供水疗中心,有时水疗中心会在水疗中心的静态文件文件夹下查找。我挣扎了一会儿,发现我能让 favicon 出现在我的 angular 应用程序中的唯一方法是将 favicon 和 site.webmanifest 放在我的 app/assets 文件夹中。之后没有任何修改就可以工作。有一些建议可以修改内容响应类型,但只要文件位于正确的文件夹中,就不必这样做。希望这对其他人有帮助。

      【讨论】:

        猜你喜欢
        • 2018-05-31
        • 1970-01-01
        • 1970-01-01
        • 2018-03-30
        • 1970-01-01
        • 2018-05-06
        • 2018-01-28
        • 2018-03-02
        相关资源
        最近更新 更多