2

我正在寻找一些可能很简单的事情的帮助,拜托。我已经创建了一个 asp.net 核心 Web 应用程序(我从 Empty 选项开始)并且我正在逐步构建它。似乎我的css文件没有被读取或找到。当我启动应用程序时,我可以看到我的 html 页面看起来不像它应该的那样,并且当我在控制台下的 edge 中使用开发人员工具时,会出现“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>

提前感谢您的任何建议或指导。

弗朗切斯科

4

2 回答 2

2

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

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

您可以使用app.UseStaticFiles,请参阅Web 根目录之外的服务文件

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

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

于 2019-02-26T06:17:33.730 回答
0

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

于 2019-02-24T17:16:42.510 回答