是否可以在 Windows XP 上运行 CoreCLR?

Posted

技术标签:

【中文标题】是否可以在 Windows XP 上运行 CoreCLR?【英文标题】:Is it possible to run CoreCLR on Windows XP? 【发布时间】:2015-04-10 17:30:49 【问题描述】:

现在我们有了 .NET 核心的免费开源实现:CoreCLR。它支持Windows和Linux操作系统,计划支持Mac OS。

【问题讨论】:

它是一个积木,需要托管。提供的示例主机非常简单,目的是人们自己编写以使 CoreCLR 适应他们的运行时环境。您也许可以为 XP 编写一个,您必须先构建它,在 14 年前的操作系统上浪费时间是您的特权。 @HansPassant:我不认为支持 XP 是他的选择。我发现自己处于类似的情况,在 2018 年我仍然必须提供与 Windows XP 的兼容性,因为这是我们的许多客户使用的。我希望能够摆脱 .net4.0 【参考方案1】:

如果可能的话。事实上,他们已经让它在 Windows 3.1 甚至 MS-DOS 上运行。

https://www.hanselman.com/blog/NETEverywhereApparentlyAlsoMeansWindows311AndDOS.aspx

显然,这并不容易。您必须编译 .Net Core 运行时、安装 Win32s 库以及其他各种东西。

【讨论】:

【参考方案2】:

我不这么认为。原因如下: 参考:https://docs.microsoft.com/en-us/dotnet/articles/standard/library

Windows XP 不支持任何高于 4.0 的 .NET 框架。并且基于 .NET 4.0 的 winform 应用程序或类库无法引用 .NET Core 1.x 类库。

从 Windows XP 或任何其他操作系统的源代码重新编译 .NET core SDK、core clr 和 Corefx 可能会更好,但我认为这将非常困难。如果它更容易,MSFT 一开始就会这样做。

关于 .NET CORE 2.0? 参考:https://github.com/dotnet/core/blob/master/roadmap.md#technology-roadmaps

【讨论】:

【参考方案3】:

当心图灵 tar-pit,在其中一切皆有可能,但没有什么是容易的。所以这是可能的,但由于 XP 可能缺少一些在 Win 8/10 托管实现中使用的低级 API 以及一些本机 C/C++ 编译器/目标怪异,你可能会走很长的路。再说一次,针对 Core CLR 的 XP 真的“有趣”吗……? ;)

【讨论】:

以上是关于是否可以在 Windows XP 上运行 CoreCLR?的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的 VB.net 程序在 Windows XP 上运行?

在 Windows 7 上崩溃但在 XP 上运行

如何检测Windows XP机器上是不是播放任何声音

我可以在 Windows XP 或 7 上使用最新的 .NET 框架吗? [关闭]

VS2017 和 Win7/XP 上缺少“api-ms-win-core-rtlsupport-l1-2-0.dll”

在 Windows XP 上运行时 TextBox.Text 绑定错误