.NET Core中的.configurekestrel()方法的问题



我正在尝试使用.NET核心创建一个非常简单的API,并正在探索kestrel。我正在遵循此MS教程上的指示:https://learn.microsoft.com/en-us/aspnet/core/core/fundamentals/servers/kestrel?view= aspnetcore-2

但是,当我尝试调用configurekestrel方法时,Visual Studio告诉我:" IWEBHostBuilder不包含'configurekestrel()''的定义,并且没有可访问的扩展方法用于configurekestrel接受'iwebhostbuilder'的第一个参数,可以找到(您是否缺少使用指令或装配给参考?)

我找不到有关此信息的任何信息,而且我很确定我正在使用正确的库。任何帮助都将不胜感激 - 包括代码:

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

我已经从头开始创建了一个示例应用程序,然后编译:

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

找到VS2017 ASP.NET Core Web应用程序 ->运行2.1的API没有配置。但是,您可以将Kestrelserveroptions操作传递到Usekestel中,而不是将您的控制权带到您之后。它覆盖了来自CreateFaultBuilder的设置。

    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 CONSOLE应用程序开始,然后添加...

    Microsoft.AspNetCore
    Microsoft.AspNetCore.Mvc

这为您提供了一个运行Aspnetcore 2.2而不是2.1

的(相当简约的)项目

相关内容

  • 没有找到相关文章

最新更新