Проблема с методом .ConfigureKestrel () в .net Core - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь создать очень простой API с .net Core и изучаю Kestrel.Я следую указаниям этого учебника по MS: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2

Однако, когда я пытаюсь вызвать метод ConfigureKestrel, Visual Studio сообщает, что «IWebHostBuilder не содержит определения для« ConfigureKestrel ()'и не удалось найти доступный метод расширения для ConfigureKestrel, принимающего первый аргумент типа' IWebHostBuilder '(вам не хватает директивы using или ссылки на сборку?) "

Не могу найти какую-либо информацию по этому вопросуи я уверен, что использую правильные библиотеки.Любая помощь будет принята с благодарностью - код включен:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

namespace WebApplication2
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();

        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .ConfigureKestrel((context, options) =>
        {
            // Error with ConfigureKestrel method above
        });
    }
}

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Обнаружено, что базовое веб-приложение ASP.NET VS2017 -> API, работающий с 2.1, не имеет ConfigureKestrel.Однако вместо этого вы можете передать действие KestrelServerOptions в UseKestrel, которое может дать вам контроль после.Он переопределяет настройки из CreateDefaultBuilder.

    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>().UseKestrel(options => options.Listen(IPAddress.Loopback,60000));

Между прочим, я только что нашел, если вы начнете с простого консольного приложения .NetCore, а затем добавите ...

    Microsoft.AspNetCore
    Microsoft.AspNetCore.Mvc

Это дает вам (довольно минималистский) проект под управлением AspNetCore 2.2 вместо 2.1

0 голосов
/ 16 февраля 2019

Я создал образец приложения с нуля, и он компилирует:

using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;

namespace WebApplication1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .ConfigureKestrel((a, b) => { });
    }
}

Можете ли вы проверить, работает ли этот пример для вас?

Также убедитесь, что у вас установлена ​​последняя версия.Net Core, возможно, это было изменено?Документация 2.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...