zoukankan      html  css  js  c++  java
  • 为什么在Mac中无法用k web运行ASP.NET 5程序

    k web对应的命令如下:

    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:8001"

    其中Microsoft.AspNet.Hosting是OWIN Host,与用k kestrel时是一样的。Microsoft.AspNet.Server.WebListener是OWIN Server。

    运行k web需要在project.json中添加引用:

    "Microsoft.Framework.DependencyInjection": "1.0.0-beta2",
    "Microsoft.Framework.DependencyInjection.Autofac": "1.0.0-beta3-10754"

    不然会出现错误:

    Missing method Microsoft.Framework.DependencyInjection.ServiceCollectionExtensions::AddContextAccessor

    k web最终出现的错误是:

    System.DllNotFoundException: httpapi.dll

    那原因是什么呢?

    Microsoft.AspNet.Server.WebListener虽然是一个.NET托管程序,是被 Microsoft.AspNet.Server.WebListener.ServerFactory.Initialize 调用的。但是AspNet.Server.WebListener在 Microsoft.AspNet.Server.WebListener.ServerFactory.Initialize 中调用了 Microsoft.Net.Http.Server.WebListener ,而在Http.Server.WebListener的构造函数中用到了非托管的httpapi.dll:

    // Microsoft.Net.Http.Server.WebListener
    public WebListener(ILoggerFactory factory)
    {
        if (!UnsafeNclNativeMethods.HttpApi.Supported)
        {
            throw new PlatformNotSupportedException();
        }
    }

    问题就出在这里。 

  • 相关阅读:
    vue2 下载scss依赖包
    fastjson使用
    vscode format
    flutter 中涉的深拷贝
    通过pom给maven添加编译插件
    IDEA添加动态模板(Live Templates)
    Maven启动tomcat:run异常
    Redis
    tomcat启动时启动窗口出现乱码的解决方案
    无效的源发行版,解决方案
  • 原文地址:https://www.cnblogs.com/dudu/p/aspnet5-mac-k-web.html
Copyright © 2011-2022 走看看