Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 红隼运行哪个框架?_Azure_Asp.net Core_.net Core_Dnx_Dnvm - Fatal编程技术网

Azure 红隼运行哪个框架?

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 -

我有一个新的ASP.NET 5项目,并设置project.json如下

    "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中,使用的框架按以下顺序确定:

  • 项目属性。右键单击解决方案资源管理器中的.xproj并选择属性。转到“应用程序”部分(默认),您可以“使用特定的DNX版本”,包括版本、平台和体系结构

  • global.json。我不知道是否可以在这里更改平台,但例如:

    "sdk": {
        "version": "1.0.0-beta6-12032"
    }
    
  • VisualStudio根据其版本默认使用特定的运行时。我相信VS 2015 RC默认使用beta4、.Net Framework和x64

  • 从命令行运行时,它由活动的
    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。使用的路径取决于哪个路径处于活动状态(在路径中)。