Visual studio 2015 中 References 下的 Asp.net 5 和 Asp.net core 5 选项是什么意思?

What does Asp.net 5 and Asp.net core 5 options under References in Visual studio 2015 mean?

当我在 Visual studio 2015 年尝试添加参考时,我在参考 "Asp.net5 and Asp.net core 5" 下看到这 2 个选项时感到困惑。

任何人都可以解释一下吗?

ASP.NET 5 现在是 运行 位于 .NET Core 5 运行time (Core-CLR) 或 .NET Framework [=27] 之上的单一框架=]时间(CLR)。

ASP.NET 5 是第一个采用 .NET Core 的工作负载。 ASP.NET 5 运行 在 .NET Framework 和 .NET Core 上。 ASP.NET 5 的一个关键值是它可以 运行 在同一台机器上的多个版本的 .NET Core 5 上。 A网站和B网站可以运行在同一台机器上安装两个不同版本的.NET Core,也可以使用相同的版本。

由你决定。由于占用空间较小,因此也有一些特定于 .NET Core 的性能优势,但是,大多数 ASP.NET 5 性能优势都适用于 .NET Framework 和 .NET Core。

当你将一个nuget包添加到你的项目中时,它将适用于一个或多个框架。您将这些包添加到 project.json 文件的 'dependencies' 部分。

"dependencies": {
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-*",
    "Microsoft.AspNet.Identity": "3.0.0-*",
    "Microsoft.AspNet.Mvc": "6.0.0-*",
    "Microsoft.AspNet.Security.Cookies": "1.0.0-*",
    "Microsoft.AspNet.Server.IIS": "1.0.0-*",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-*",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta3",
    "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-*",
    "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-*",
    "Microsoft.Framework.Logging": "1.0.0-*",
    "Microsoft.Framework.Logging.Console": "1.0.0-*",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-*"
}

您将看到的两个主要框架是 'aspnet50' 和 'aspcore50'。您将在 project.json 文件中指定要定位的框架。

"frameworks": {
    "aspnet50": {
        "frameworkAssemblies": {
        },
        "dependencies": {
        }
    },
    "aspnetcore50": { }
}

在该部分中,您还可以指定只希望包含在特定框架中的依赖项。在您的代码中,您需要保护特定于框架的代码。

#ifdef aspnet50
    /* code targeting dependencies only available for aspnet50 */
#endif

您在 'References' 节点下看到的节点将可视化哪些包被包含在哪个框架中。您的应用程序所针对的框架 运行 将在应用程序主机中进行配置。