Microsoft dotnet(DNX) 生命周期

Microsoft dotnet(DNX) lifecycle

我目前对 dotnet 中的 Microsoft 支持和生命周期有点困惑。

目前我有一些旧的 class 库,目标是“.Net FrameWork 4.5

我在我的新 ASP.Net 5 网络服务中使用那些 class 库。

我的网络服务的目标平台是“DNX SDK 版本 1.0.0-rc1-final

为了支持我的旧库,我从 json 文件中删除了 DNX5.0,只剩下 DNX451

我也将我的 CLass-library build 更改为 4.5 以支持 DNX 4.5.1.

在我 3 天前从 MSDN 阅读这篇文章后,我发现他们正在下降

支持 .NET 4、4.5 和 4.5.1

所以问题是:在 dotnet 4.5 之上构建我的 class-library 让它们与 dnx 4.5.1 一起工作是否不好?

或者我以错误的方式执行此操作,应该从库上的新框架开始,并等待 dnx452 让它们工作?

终止支持公告引起了很多混乱。它仅适用于 installed .NET 版本。您必须记住,安装的版本低于 4.5.2 的机器仍然很少。实际上所有这些都是由 Windows Update.

更新的

因此,如果您致电 Microsoft 支持,并且您遇到了未更新的计算机的问题,那么您已经遇到了很大的问题让他们注意。因为他们会推荐的第一件事是 "update to 4.5.2" 并且您将有一场相当大的战斗来解释为什么这是不可能的。

"dnx451"中的4.5.1是api版本。不同于 运行time 版本,并且在您自己的机器上的实践中也与众不同。由于它适用于目标包,因此文件存在于 C:\Program Files (x86)\Reference Assemblies 中。看一看了解情况,注意所有 .NET 框架程序集是如何存在的。

但它们不是您用于运行您的程序的程序集。它们很特别,它们只包含元数据,根本没有代码。对它们的制作方式进行心理建模的最佳方法是假设 Microsoft 选择了框架的特定发布版本和 运行 它的程序集通过一个工具删除了所有 运行 时间细节。从而冻结 api 合约。

在 运行 时,您使用的是实际安装在您机器上的程序集。你现在很可能是 4.6.1。在您用户的机器上,如果他升级到 Win10,目前很可能是 4.5.2、4.6。

所以以 dnx451 为目标不会造成支持问题。