HRef 不使用新文件夹中的样式表?

HRef Not Using Stylesheets From New Folder?

我在 MVC ASP .Net 项目中遇到问题,我正在尝试添加一个新文件夹来保存我计划在未来使用的所有 css 文件,但是当测试文件夹中的文件似乎项目无法使用它们。 我已经完成了以下故障排除:

我还注意到该文件仅在使用以下路径时通过 href 发现 ../Styles/form2.css 并且没有提示,不像 wwwroot 的 href 是 ~/css/form2.css

文件设置主 css 文件的方式似乎仅在父共享布局中使用 href 时有效

Solution Explorer

Shared layout Href reference image

有谁知道为什么会发生这种情况以及我该如何解决这个问题,或者为 css 个文件创建自己的文件夹是注定要失败的想法吗?

好的,就像编码生活一样,我在过去 2 天一直在努力解决的问题在向堆栈溢出发布问题后直接解决了!

所以经过一些研究,我在这里找到了与 mvc asp .net https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-6.0

中的静态文件相关的答案

从这个角度来看,我的问题是 HTML、css、图像和 Javascript 等静态文件存储在项目的 webroot 目录。

但是有一种方法可以通过编辑 Program.cs 文件并添加以下代码来解决这个问题

app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(  
        Path.Combine(builder.Environment.ContentRootPath, "Styles")),
    RequestPath = "/Styles"
});

See my edit snapshot here (Note: dont forget to add using Microsoft.Extensions.FileProviders;)

不过经过深思熟虑,我想我会将静态文件留在 wwwroot 目录中并在此处创建文件夹,但很高兴知道如果需要,可以从该默认目录创建和使用外部文件夹未来!