什么是aspnet50和aspnetcore50?

use*_*696 8 asp.net-core

从VS创建一个ASP.NET 5应用程序时,该project.json文件包含以下条目:

"frameworks": {
    "aspnet50": { },
    "aspnetcore50": { }
}
Run Code Online (Sandbox Code Playgroud)

现在,这个框架部分是什么以及为什么有这些条目"aspnet50"和"aspnetcore50"?我知道现在有完整的.NET和Core CLR,但是这部分似乎暗示有两个不同的ASP.NET 5:一个ASP.NET 5和一个ASP.NET Core 5.只有一个框架ASP.NET 5可能运行在完整的.NET或Core CLR之上吗?如果那就是为什么我们需要这些条目?

Anž*_*nik 1

Microsoft 的“新”做事方式允许在 Windows 之外托管 CLR。如果您有兴趣,我有一篇关于这样做的博文。

现在,要做到这一点,他们必须稍微拆分框架,因此,CORE CLR 诞生了。从网页

.NET Core 5 是小型优化运行时,是 ASP.NET Core 5 的基础。它目前在 Windows 上运行,并将扩展以支持 Linux 和 Mac。它采用高性能和模块化设计,并支持完全并行,以便轻松采用新的 .NET Core 版本,而不会影响其他应用程序。这些产品由 .NET 团队积极开发,并与开源开发人员社区合作。我们共同致力于通过新功能和新场景改进和扩展 .NET 平台。

为了实现这一目标,一些功能显然被抛弃了。Asp.net 必须针对您的应用程序的有限子集才能在核心框架上运行。它基本上告诉框架将您可以使用的功能集限制为两者都支持的功能。

这是我的理解,但我可能是错的:-)