设置 ASP.NET 核心 2.0 图标

Setting ASP.NET Core 2.0 favicon

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

当我看到Visual Studio 2017自动制作的初始项目时,favicon.ico文件就在wwwroot目录下,没有设置。

因此,我将网站图标文件添加到 wwwroot 目录中。 但是该图标不会出现在任何浏览器中。

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

wwwroot/index.html 文件有 link 到 favicon.

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

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

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

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

在_Layout.cshtml中包括,

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

如果您的 favicon.ico 文件位于 wwwroot 文件夹中,并且当浏览器尝试获取 favicon.ico 时您仍然收到 404 错误,请确保您的 [=22] 中有 app.UseStaticFiles(); =] -> public void Configure(IApplicationBuilder app, IHostingEnvironment env).

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

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

这只是对那些正在努力解决这个问题的人的提醒。如果您从 .net core 2(angular、react、其他)提供 spa,有时 spa 会在 spa 的静态文件文件夹下查找。我苦苦挣扎了一段时间,发现让网站图标与我的 angular 应用程序一起显示的唯一方法是将网站图标和 site.webmanifest 放在我的 app/assets 文件夹中。之后无需任何修改即可工作。那里有一些修改内容响应类型的建议,但只要文件在正确的文件夹中就不必这样做。希望这对其他人有帮助。