找不到 css 文件 - ASP.NET Core Web 应用程序

Fra*_*era 4 serving asp.net-core-mvc

我已经创建了一个 asp.net core Web 应用程序(我从“空”选项开始),并且正在逐步构建它。看来我的 css 文件没有被读取或找到。

当我启动应用程序时,我可以看到我的 html 页面看起来不正常,当我在控制台下使用 Edge 中的开发人员工具时,出现错误,HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier). GET - http://localhost:8888/css/site.css表明我的 css 文件确实没有被读取或找到。

现在,我的 css 文件位于项目根目录中名为“css”的文件夹下。当我说 root 时,我的意思是我刚刚创建了一个名为 css 的文件夹,并且路径与 Program.cs 或 Startup.cs 相同。我的项目中没有wwwroot(好像asp.net core 2.2默认已经去掉了?),css文件夹也不在。如下是我的 html 页面中的代码,我尝试在“/css”之前添加 ~ 但仍然没有。

<head>
    <link href="/css/site.css" rel="stylesheet" />
</head>
Run Code Online (Sandbox Code Playgroud)

Rya*_*yan 6

如果您希望在 Web 根目录之外提供静态文件(例如在名为 的文件夹中MyStaticFiles)并且其结构如下

-YourProject
--MyStaticFiles
---css
----site.css
--Program.cs
--Startup.cs
Run Code Online (Sandbox Code Playgroud)

您可以使用app.UseStaticFiles,请参阅在网络根目录之外提供文件

public void Configure(IApplicationBuilder app)
{  
  app.UseStaticFiles(new StaticFileOptions
  {
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFiles")),
    RequestPath = "/StaticFiles"
  });
}
Run Code Online (Sandbox Code Playgroud)

然后你可以从http://localhost:8888/StaticFiles/css/site.css

或者<link rel="stylesheet" href="~/StaticFiles/css/site.css" />