我正在寻找一些可能非常简单的帮助。我已经创建了一个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>
在此先感谢您的任何建议或指导。
弗朗切斯科
答案 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" />