Web服务器如何选择框架(dnx451 vs dnxcore50)
How does web server chooses framework (dnx451 vs dnxcore50)
我在 project.json 中有这个设置:
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
当我在 Kestrel("web" 命令)或 IIS Express 中 运行 应用程序时,他们如何知道使用这两个框架中的哪个框架,它如何选择 .net框架或 dnx.
对于 IISExpress,它将使用 Web 应用程序属性文件夹中 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"
}
}
}
我在 project.json 中有这个设置:
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
当我在 Kestrel("web" 命令)或 IIS Express 中 运行 应用程序时,他们如何知道使用这两个框架中的哪个框架,它如何选择 .net框架或 dnx.
对于 IISExpress,它将使用 Web 应用程序属性文件夹中 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"
}
}
}