Azure 红隼运行哪个框架?
我有一个新的ASP.NET 5项目,并设置project.json如下Azure 红隼运行哪个框架?,azure,asp.net-core,.net-core,dnx,dnvm,Azure,Asp.net Core,.net Core,Dnx,Dnvm,我有一个新的ASP.NET 5项目,并设置project.json如下 "frameworks": { "dnx451": { "dependencies": { "ExternalLibrary": "1.3.0" } }, "dnxcore50": {} } 我使用project.json中定义的默认命令通过Kestrel运行该项目 "kestrel": "Microsoft.AspNet.Hosting -
"frameworks": {
"dnx451": {
"dependencies": {
"ExternalLibrary": "1.3.0" }
},
"dnxcore50": {}
}
我使用project.json中定义的默认命令通过Kestrel运行该项目
"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5001"
一切正常。项目运行,依赖关系运行良好。我唯一不明白的是谁决定使用哪个底层框架
据我所知,如果Kestrel使用dnxcore50,该项目将失败。如果是这样的话,我们如何推动红隼使用它
作为旁注,该项目运行得非常好,没有任何错误,但是当我尝试使用DNU手动构建项目时,我得到了下面的错误。在这一点上,我不认为它是关键的,因为在我看来,它不会在运行期间造成故障。只是想加上它,以防万一
在Visual Studio 2015中,使用的框架按以下顺序确定:
"sdk": {
"version": "1.0.0-beta6-12032"
}
dnvm
决定。您可以使用命令dnvm list
显示已安装的虚拟机。您将得到类似于以下内容的列表:
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta4 clr x64 C:\Users\Matt\.dnx\runtimes
1.0.0-beta4 clr x86 C:\Users\Matt\.dnx\runtimes
1.0.0-beta4 coreclr x64 C:\Users\Matt\.dnx\runtimes
1.0.0-beta4 coreclr x86 C:\Users\Matt\.dnx\runtimes
1.0.0-beta4-11566 clr x86 C:\Users\Matt\.dnx\runtimes
1.0.0-beta5-11855 clr x64 C:\Users\Matt\.dnx\runtimes
1.0.0-beta5-11855 clr x86 C:\Users\Matt\.dnx\runtimes
1.0.0-beta5-11855 coreclr x64 C:\Users\Matt\.dnx\runtimes
1.0.0-beta6-11921 clr x64 C:\Users\Matt\.dnx\runtimes
1.0.0-beta6-11921 clr x86 C:\Users\Matt\.dnx\runtimes x64
1.0.0-beta6-12005 clr x64 C:\Users\Matt\.dnx\runtimes
1.0.0-beta6-12005 clr x86 C:\Users\Matt\.dnx\runtimes
* 1.0.0-beta6-12032 clr x64 C:\Users\Matt\.dnx\runtimes default
1.0.0-beta6-12032 clr x86 C:\Users\Matt\.dnx\runtimes
*
指示您当前的虚拟机coreclr
使用dnxcore50
,其他(可能是Mac上的mono
)使用相应的框架,但似乎编译为dnx451
,不幸的是,我没有使用Visual Studio。我在Mac电脑上。我使用的DNVM版本是1.0.0-beta5-10375。我怎么知道这个人使用哪个平台?这有点奇怪,因为project.json建议我可以为dnxcore和dnx451分配不同的依赖项。在我的机器上的当前DNVM版本上,两者如何工作?感觉dnxcore vs dnx451与DNVM版本无关。我的2美分。请查看更新的答案-我包括了查看有关您的虚拟机的更多详细信息的说明。根据VM.1.0.0-beta4 mono~/.dnx/runtimes默认值,仍然有“平台”(又名运行时)和指定的体系结构。您是对的。这就是我所拥有的。回到我的问题上来,mono、dnxcore50或dnx451运行的是什么?如何指定?我只是想了解如何在MAC上运行这两个运行时并使用这两个平台测试本地站点。有什么想法吗?谢谢你提供的所有信息。这很有用。我想我是在这里找到的!感谢您为我指明了正确的方向。@EnidrusDianto运行时将确定目标框架。dnx451是真正包括向后兼容性。它仅适用于windows,需要在主机上安装完整的.ne framework,dnx451运行时只不过是对dnx和.net 5之前的现有方式的补充。对于非windows环境,它将始终是核心“某物”(现在是50,但将来可能是51511,等等)。在windows计算机上,可能同时安装了coreclr和clr。使用的路径取决于哪个路径处于活动状态(在路径中)。