依赖Kestrel.Https 1.0.0-rc1-final不支持框架DNXCore,Version = v5.0

时间:2016-04-07 12:20:40

标签: asp.net-core kestrel-http-server

我尝试将https配置到我的Kestrel服务器,以使用 dnxcore50 处理 Ubuntu 14

但是当我添加依赖项时:

  

" Microsoft.AspNet.Server.Kestrel.Https":" 1.0.0-rc1-final"

我尝试恢复我的包裹,我收到了这条消息:

  

Dependency Kestrel.Https 1.0.0-rc1-final不支持框架DNXCore,Version = v5.0

如果我转到Windows并使用dnx451并添加相同的依赖项,那么效果会非常好。

但是,如果我不能在 Ubuntu dnxcore50 上使用 Kestrel.Https ,我如何在上配置Https > Ubuntu 使用 dnxcore50

2 个答案:

答案 0 :(得分:1)

这是因为Kestrel的HTTPS版本仅针对RC1上的完整.NET框架:https://www.nuget.org/packages/Microsoft.AspNet.Server.Kestrel.Https/1.0.0-rc1-final

从RC2开始,Kestrel.Https将定位netstandard1.3https://github.com/aspnet/KestrelHttpServer/blob/dev/src/Microsoft.AspNetCore.Server.Kestrel.Https/project.json#L20

所以解决方案是要么等待RC2掉线,要么使用MyGet中出血的RC2位。

答案 1 :(得分:-1)

今天,Kestrel已经支持HTTPS了:

这是自版本1.0.0以来支持它的库:

Hibernate User Guide

要在您的代码上实现它,在您主要初始化您的asp.net核心应用程序时添加UseHttps作为选项

以下是如何操作的示例!

    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel(options =>
            {
                // options.ThreadCount = 4;
                options.NoDelay = true;
                options.UseHttps("testCert.pfx", "testPassword");
                options.UseConnectionLogging();
            })
            .UseUrls("http://localhost:5000", "https://localhost:5001")
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseStartup<Startup>()
            .Build();

        // The following section should be used to demo sockets
        //var addresses = application.GetAddresses();
        //addresses.Clear();
        //addresses.Add("http://unix:/tmp/kestrel-test.sock");

        host.Run();
    }

下面还有一个来自样本的链接

https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel.Https/