ASP.NET Core 2.2中的wwwroot文件夹



我刚刚创建了一个新的ASP.NET Core Web应用程序,并选择了一个空的项目模板。我正在使用Visual Studio社区15.7.1。

第一次查看解决方案资源管理器时,我在那里看不到" wwwroot"文件夹。有人碰巧知道使用ASP.NET Core 2.2不再可见wwwroot吗?

我检查了该文档,但找不到任何东西。创建另一个文件夹并从那里提供静态文件没有问题,但我只是很好奇。

预先感谢。

尝试在项目中添加一个新文件夹,并将其称为wwwroot。它应该以适当的图标来呈现外观并按预期工作。当我使用"空项目模板"时,我总是使用.NET Core Web应用程序发生这种情况。这发生在VS 2017 v15.9.3.

手动创建wwwroot文件夹后,我们需要在启动文件的configure()方法中添加staticfile中间软件,如下所示,以服务于静态文件。

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        //Adding static file middleware
        app.UseStaticFiles();
        app.Run(async (context) =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    }

,如果我们想将其重命名为content

,我们还可以将默认的wwwroot文件夹重命名

我们需要调用usewebroot()方法以将内容文件夹配置为程序类的主()方法中的Web根文件夹。

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }
    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseWebRoot("Content")
            .UseStartup<Startup>();
}

您必须手动添加文件夹,然后将其重命名为wwwwroot。VS将其检测为启动文件夹

对未来的读者:

a。读这个 !https://learn.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view= asspnetcore-3.1(或阅读Shiram的出色答案,简要概括它!)

b。(更实用)。您需要将某种文件放入" wwwroot"文件夹中。并将其标记为"始终复制"或"如果更新"。

示例:(典型的" REST" ASPNETCORE项目)

bin
Controllers
ControllersValuesController.cs
obj
Program.cs
Startup.cs
MyCompany.MyTechnology.MyProject.csproj
MyCompany.MyTechnology.MyProject.csproj.user
wwwroot
wwwwrootStaticContentExampleOne.txt

(标记" staticcontentexample.txt"为"始终"或"复制"或"复制")

现在您应该获取wwwroot文件夹

示例:

"bindebugnetcoreapp3.1wwwroot"

"bindebugnetcoreapp3.1wwwrootStaticContentExampleOne.txt"

我在这种情况下2.x和3.x之间没有区别。

相关内容

  • 没有找到相关文章

最新更新