首页 > 解决方案 > 如何在没有 WWWROOT 的情况下使用 ASP.NET 在我的 Web 应用程序中提供 html 文件?

问题描述

学习 Visual Studios ASP.NET 应用程序如何将 html 文件附加到我的项目中?在启动.cs

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {

        **app.UseStaticFiles();**
    }
}

我的 index.html 代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Dutch Treat</title>
</head>
<body>
    <h1>Dutch Treat</h1>
</body>
</html>

说明说要进入wwwroot但没有wwwroot。这是我所拥有的照片

我的代码快照

标签: c#asp.netasp.net-corevisual-studio-code

解决方案


您似乎使用空项目模板创建项目,如下所示。

在此处输入图像描述

它确实有助于创建 ASP.NET Core 项目,而不是 ASP.NET 项目。如果您想比较它们之间的差异,可以查看此文档:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/choose-aspnet-framework?view=aspnetcore-5.0

如何在没有 WWWROOT 的情况下使用 ASP.NET 在我的 Web 应用程序中提供 html 文件?

正如您在代码中共享的那样,调用 Startup.Configure 中的UseStaticFiles方法,该方法可以提供静态文件。

但请注意,UseStaticFiles默认指向的文件提供者wwwroot,您可以手动创建名称为“wwwroot”的文件夹并将index.html等静态文件移动到其中。或者创建一个具有您期望的名称(例如“MyStaticFiles”等)的文件夹,然后配置从该文件夹提供的静态文件,如下所示。

app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(env.ContentRootPath, "MyStaticFiles"))
});

推荐阅读