【问题标题】:How does web server chooses framework (dnx451 vs dnxcore50)Web服务器如何选择框架(dnx451 vs dnxcore50)
【发布时间】:2015-12-18 21:33:24
【问题描述】:

我在 project.json 中有这个设置:

"frameworks": {
    "dnx451": { },
    "dnxcore50": { }
},

当我在 Kestrel(“web”命令)或 IIS Express 中运行应用程序时,他们如何知道要使用这两个框架中的哪个框架,它如何选择 .net 框架或 dnx。

【问题讨论】:

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


    【解决方案1】:

    对于 IISExpress,它将使用 web 应用程序的 Properties 文件夹中的 launchSettings.json 中的设置。

    如果您使用 VS(即调试)启动 web 命令,我认为它也会使用该文件中的设置。

    但是,如果您在没有 VS 的情况下从命令行使用 web 命令,我认为它将使用您的用户配置文件中的默认运行时,如 dnvm list 命令所示。

    我项目中的 launchSettings.json 示例:

    {
      "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:54671/",
      "sslPort": 0
    }
      },
      "profiles": {
        "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNET_ENV": "Development"
      },
      "sdkVersion": "dnx-coreclr-win-x86.1.0.0-rc1-update1"
    },
    "web": {
      "commandName": "web",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      },
      "sdkVersion": "dnx-coreclr-win-x86.1.0.0-rc1-update1"
    }
    }
    }
    

    【讨论】:

    • 我在这个文件中根本没有 sdk 版本,所以我想这意味着它将使用默认版本,但我也没有任何设置为默认值(我猜它应该是 dnvm 列表中的星号)
    • 是的,我应该从您的个人资料中说活动的,它可能是也可能不是默认的。如果未在启动设置中指定,我不确定,但 global.json 也可用于确定使用哪个运行时。在较旧的测试版中,wwwroot 文件夹中的 web.config 文件中也有一些设置,这些设置只会影响 IIS 而不会影响命令行。
    猜你喜欢
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    相关资源
    最近更新 更多