wwwroot folder in asp.net core 2.2

I have just created a new ASP.NET Core web application and selected an empty project template. I am using Visual Studio Community 15.7.1.

Upon a first look at the solution explorer I can see no "wwwroot" folder there. Does anyone happen to know if with asp.net core 2.2 the wwwroot is not visible any longer?

I checked the documentation and I could not find anything. No issues in creating another folder and serve my static files from there but I was just curious.

Thanks in advance.

Try adding a new folder to the project and call it wwwroot. It should take on the appearance with the proper icon and work as expected. This always happens to me with .NET Core web apps when I use the empty project template. This is occurring in VS 2017 v15.9.3.

Static files in ASP.NET Core, I downloaded IIS Express and there is still no wwwroot folder in my inetpub folder . Is this folder necessary and if so how can I get it into my� By default, the wwwroot folder in the ASP.NET Core project is treated as a web root folder. Static files can be stored in any folder under the web root and accessed with a relative path to that root. In the standard ASP.NET application, static files can be served from the root folder of an application or any other folder under it.

After manually creating the wwwroot folder, we need to add the staticFile middle-ware in the Configure() method of Startup file as shown below inorder to serve the static file.

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        if (env.IsDevelopment())

        //Adding static file middleware

        app.Run(async (context) =>
            await context.Response.WriteAsync("Hello World!");

We can also rename the default wwwroot folder as we want for an example, if we want to rename it as content

we need to call UseWebRoot() method to configure Content folder as a web root folder in the Main() method of Program class as shown below.

public class Program
    public static void Main(string[] args)

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>

wwwroot folder in asp.net core 2.2, The wwwroot folder does need to be created, as that folder was removed from the 2.2 API project template. 2.1 and earlier versions already� Getting the Web Root Path and the Content Root Path in ASP.NET Core May 22, 2016 In ASP.NET Core, the physical paths to both the content root and the web root directories can be retrieved via the IWebHostEnvironment service.

you must add folder manually and then rename it to wwwwroot. vs detect it as lunch folder

wwwroot folder missing, There's also a WebRoot folder and typically this is the wwwroot folder where the Web application expects static content to be served from. Static� The default Web Application template for.NET Core 2.2 in Visual Studio 2017 contains a default implementation of Bootstrap in the “ wwwroot/lib ” folder, which is fine if you are not concerned about your application/site being styled like every other Bootstrap site or including sizeable css and js files regardless of whether you are using all the features of Bootstrap or not.

For future readers:

A. Read this ! https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1 (Or read shiram's excellent answer which briefly sums it up!)

B. (More practical). You need to put some kind of file inside the "wwwroot" folder. And mark it as "Copy Always" or "Copy If Newer".

Example: (typical "rest" aspnetcore project)


(Mark "StaticContentExampleOne.txt" as "Copy Always" or "Copy If Newer")

Now you should get the wwwroot folder





I don't there is a difference between 2.x and 3.x in this scenario.

dotnet/AspNetCore.Docs, For example, when you create a default Web application project using Visual Studio, there are several folders created within the wwwroot folder - css, images, and� Static files, such as HTML, CSS, images, and JavaScript, are assets an ASP.NET Core app serves directly to clients by default. View or download sample code (how to download) Serve static files. Static files are stored within the project's web root directory. The default directory is {content root}/wwwroot, but it can be changed with the

Serving ASP.NET Core Web Content from External Folders, cs file for starting up the ASP.NET Core application and wwwroot folder for the application's static contents. But what if you want to change the� ASP.NET Core Runtime 2.2.7. The ASP.NET Core Runtime enables you to run existing web/server applications. On Windows, we recommended installing the Hosting Bundle, which includes the .NET Core Runtime and IIS support. IIS runtime support (ASP.NET Core Module v2) 12.2.19109.5

Working with Static Files - ASP.NET Core Documentation, Static files are typically located in the web root (wwwroot) folder. By default, that is the only place where we can serve up files directly from the file system. Example. In this article, we will show you approaches how to get the root directory/folder of an ASP.NET Core web project. In fact, we often do this when we want to read or write our resource files which are stored within the project.

Change Startup.cs and wwwroot folder name in ASP.NET Core, The wwwroot is the standard static directory in ASP.NET Core, and other developers who dive into your code will have an easier time� In ASP.NET Core 2.1 or later, The page name is the path to the page from the root /Pages folder including a leading / (for example, /Index). The preceding URL

  • By design empty project template would not add wwwroot folder, controllers folders, models folder and so on.
  • Thanks Tanvir, it does if I select asp.net core 2.0
  • It really shouldn't. Only the ASP.NET Core MVC tempaltes should have it
  • Upvoted this answer. But added a caveat in my answer about adding a file to the wwwroot folder.
  • lunch folders! Yum!
  • Can directly add folder with by name wwwroot