红隼运行哪个框架?

Eni*_*nto 5 azure .net-core dnx dnvm asp.net-core

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

    "frameworks": {
    "dnx451":  {
        "dependencies": {
            "ExternalLibrary": "1.3.0" }
        },
    "dnxcore50": {}
}
Run Code Online (Sandbox Code Playgroud)

我正在通过Kestrel运行项目,使用project.json中定义的默认命令.

"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5001"
Run Code Online (Sandbox Code Playgroud)

一切正常.项目运行并且依赖项运行良好.我唯一不明白谁决定使用哪个底层框架?

据我所知,如果Kestrel使用dnxcore50,项目应该会失败.如果是这样的话,我们如何推动Kestrel使用它?

正如旁注,项目运行良好,没有任何错误,但当我尝试使用DNU手动构建项目时,我得到以下错误.我认为此时并不重要,因为据我所知,它在运行时不会导致故障.只是想添加它以防万一.

http://pastebin.com/x44VtXct

Mat*_*rey 2

在 Visual Studio 2015 中,所使用的框架按以下顺序确定:

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

  2. 全局.json。我不知道这里是否可以更改平台,但例如:

    "sdk": {
        "version": "1.0.0-beta6-12032"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. Visual Studio 默认使用特定的运行时,具体取决于其版本。我相信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
Run Code Online (Sandbox Code Playgroud)

指示*您当前的虚拟机。coreclr使用dnxcore50,其他(可能mono在您的 Mac 上)使用相应的框架,但似乎编译为dnx451.