папка wwwroot в asp.net core 2.2 - программирование
Подтвердить что ты не робот

папка wwwroot в asp.net core 2.2

Я только что создал новое веб-приложение ASP.NET Core и выбрал пустой шаблон проекта. Я использую сообщество Visual Studio 15.7.1.

При первом взгляде на обозреватель решений я не вижу там папки "wwwroot". Кто-нибудь знает, если с asp.net core 2.2 больше не виден wwwroot?

Я проверил документацию и ничего не смог найти. Никаких проблем в создании другой папки и обслуживании моих статических файлов оттуда, но мне было просто любопытно.

Заранее спасибо.

4b9b3361

Ответ 1

Попробуйте добавить новую папку в проект и назовите ее wwwroot. Это должно принять вид с надлежащей иконкой и работать как ожидалось. Это всегда происходит со мной в веб-приложениях .NET Core, когда я использую пустой шаблон проекта. Это происходит в VS 2017 v15.9.3.

Ответ 2

Вы должны добавить папку вручную, а затем переименовать ее в wwwwroot. против обнаружить его как папку с обедом

Ответ 3

После создания папки wwwroot вручную нам нужно добавить промежуточное программное обеспечение staticFile в методе Configure() файла запуска, как показано ниже, для обслуживания статического файла.

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!");
        });
    }

Мы также можем переименовать папку wwwroot по умолчанию, как мы хотим для примера, если мы хотим переименовать ее как контент

нам нужно вызвать метод UseWebRoot(), чтобы настроить папку Content как корневую веб-папку в методе Main() класса Program, как показано ниже.

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>();
}