找不到CSS档案-ASP.NET Core Web应用程式

时间:2019-02-24 17:04:17

标签: asp.net-core-mvc serving

我正在寻找一些可能非常简单的帮助。我已经创建了一个asp.net核心Web应用程序(我从Empty选项开始),并且正在逐步构建它。看来我的css文件没有被读取或找到。当我启动应用程序时,我可以看到我的html页面看起来不正确,并且当我在控制台下方的边缘中使用开发人员工具时,出现了“ HTTP404:未找到-服务器未找到与请求的URI匹配的任何内容” (统一资源标识符)。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>

在此先感谢您的任何建议或指导。

弗朗切斯科

2 个答案:

答案 0 :(得分:0)

之所以发生这种情况,是因为环境webroot与当前所在的css文件夹不同。您必须更改webroot或将css文件夹移至当前的webroot。 通常wwwroot文件夹设置在环境webroot下

答案 1 :(得分:0)

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

-YourProject
--MyStaticFiles
---css
----site.css
--Program.cs
--Startup.cs

您可以使用app.UseStaticFiles,请参考Serve files outside of web root

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

那么您可以从http://localhost:8888/StaticFiles/css/site.css 获取css

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