8

.NET框架可以安装在Linux、Unix、MAC等操作系统上吗?

4

6 回答 6

7

你应该看看Mono Project

单声道是

C# 和 CLR 的开源、跨平台实现,与 Microsoft.NET 二进制兼容

于 2011-02-20T10:06:43.487 回答
5

.Net本身与大多数 Microsoft 软件一样,100%依赖于平台。它适用于 Microsoft 提供的环境(如 Windows 及其不同版本)。其他任何东西(Mac、Linux 等)都没有官方的 .Net

但...

一些平台确实尝试开发替代方案、模拟器等,以尝试运行 MS 软件。正如 Nick 发布的那样, Mono是一个支持 .Net 代码在 Linux 下运行的 Linux 项目。

但是 Mono不是.Net。它是一个不同的软件,由不同的人编写,试图与 .Net 100% 兼容(而且它真的很棒)。但它不是由 Microsoft 提供或支持的。

而且 Mono 作为一个开源的免费软件,平台独立的,因为它可以移植到任何平台(目前,它已经支持多个平台,不仅限于 Linux)

所以,从技术上讲,正确的答案是:

Microsoft 提供的 .Net 框架根本不独立于平台。你不能在 Linux 或 Mac 上安装它

但是 Mono,一个独立的、兼容的 .Net 实现,在 Linux 和 Mac 以及其他几个平台中都受支持并且可以安装。你用它来运行用 .Net 编写的代码

于 2011-02-20T10:13:17.523 回答
2

Linux 具有Mono适用于 Linux 的 .Net 运行时。我不知道其他操作系统。
无论如何,使它独立于平台的原因是它被编译为 MSIL,因此任何平台都可以实现运行时并支持它。

还有一个用于小型嵌入式设备的实现,称为.Net Micro Framework

于 2011-02-20T10:08:47.677 回答
1

对您非常精确的问题的回答是否定的。对“可以在这些操作系统上运行 .net 程序”这个问题的回答是不同的。这可能是。正如其他人所写,寻找 Mono。

附录(这是稍后的编辑)

我现在认为我的答案并不完整。我应该回答“是的。你安装 wine 然后安装 .net 框架”。这里有一个示例链接(适用于 ubuntu 和 .net 2.0):http ://ubuntuforums.org/showthread.php?t=943298

是的,我知道这不是 OP 可能想知道的答案,但它至少是他所问问题的部分答案。

于 2011-02-20T10:10:18.203 回答
1

.Net 可以被视为两个独立的部分。一种是ECMA 标准化 CLI,另一种是CLR。CLR 是微软对 CLI 的实现。

CLI 可以在许多设备上执行,例如 Windows(x86、x64、ia64 和现在的 ARM)、XBox、Zune、手机甚至嵌入式设备(小芯片)Mono / Moonlight是 CLI 的实现,甚至是 CLR 的一部分,由 Microsoft 通过 Novell 提供部分资金。Microsoft 支持这项工作并发布源代码以提供帮助。通过 Mono,您可以访问大多数操作系统和 CPU 类型。

还有一些编译器可以将.Net代码直接编译成平台无关的代码,可以直接由CPU执行。如果您想用 C# 编写自己的操作系统,那就太好了。(我不记得名字,但如果有兴趣,我可以谷歌一些链接。)

CLI 设计为独立于平台和语言。它通过各种实现在大多数操作系统和 CPU 上运行良好。在实践中,这是否意味着它支持例如区分大小写/不区分大小写的变量(+ 更多)之类的语言特性,并且它具有与大多数 CPU 兼容的指令集(CLI 机器代码类似于大多数 CPU 提供的指令)。

.Net 的实现(概述以回答您的问题):

于 2011-02-20T10:29:05.650 回答
0

您需要使用名为Mono的免费开源替代 .NET 实现

在维基百科上

主站点

于 2011-02-20T10:08:16.903 回答