找不到Asp.net Core 2.0静态文件错误

时间:2018-09-19 12:02:09

标签: asp.net .net asp.net-core asp.net-core-mvc asp.net-core-2.0

大家好,我正在尝试创建一个ASP.net Core 2.0 Web应用程序;我已将静态文件放置在名为Content的文件夹中。

enter image description here

我给出了以下路径:

<link href="@Url.Content("../Content/css/style.css")" rel="stylesheet">

加载视图时出现404-找不到错误。但是,GET请求路径正确,并且文件存在于同一路径中。这是执行GET请求的路径:

http://localhost:49933/Content/css/style.css 

我找到了解决方案,要求我更改web.config文件中的设置,但是.Net Core 2.0没有。我用过MVC。 web.config文件对IIS来说不是很重要吗?

1 个答案:

答案 0 :(得分:10)

您应该将要公开的静态文件放在var _this = this; var value = el.getValue(); if (value.match(/[^а-яА-ЯёЁ\n0-9,.!():;@&#%+_/\'\" -]/ig) === null) { _this.getViewModel().set('myMaxLength', 60); _this.getViewModel().set('length', value.length); } else if (value.match(/[^a-zA-Z\n0-9,.!():;@&#%+_/\'\" -]/ig) === null) { _this.getViewModel().set('myMaxLength', 170); _this.getViewModel().set('length', value.length); } else { _this.getViewModel().set('myMaxLength', 60); _this.getViewModel().set('length', value.length); } 下,然后相应地引用它们,例如

请参见Static files in ASP.NET Core

wwwroot

如果要在<link rel="stylesheet" href="~/css/style.css" asp-append-version="true" /> 之外提供静态文件,则需要按以下方式配置静态文件中间件:

wwwroot

然后您可以使用与当前相同的标记:

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles(); // For the wwwroot folder

    app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "Content")),
        RequestPath = "/Content"
    });
}

有关更多信息,请参见Serve files outside of web root