.NET框架可以安装在Linux,Unix,MAC等操作系统上吗?
答案 0 :(得分:7)
答案 1 :(得分:5)
.Net 本身,与大多数Microsoft软件一样,是100%平台 - 依赖。 仅在Microsoft提供的环境中工作(如Windows及其不同版本)。没有官方 .Net的其他任何东西(Mac,Linux等)
<强> BUT ... 强>
一些平台确实尝试开发替代品,模拟器等,以尝试运行MS软件。尼克发布的 Mono 是一个支持.Net代码在Linux下运行的Linux项目。
但Mono NOT .Net。它是一个不同的软件,由不同的人编写,试图与.Net 100%兼容(它实际上该死的很棒)。但它不是由Microsoft提供或支持的。
和Mono一样,是一个开源的免费软件, 独立于平台,因为它可以移植到任何平台(目前,它已经支持多个,不仅仅是Linux)
因此,从技术上讲,正确的答案是:
微软提供的.Net框架根本不是独立的。您无法在Linux或Mac中安装但Mono是一个独立的,兼容的.Net实现,支持并可用于Linux和Mac以及其他几种平台的安装。并使用它来运行用.Net编写的代码
答案 2 :(得分:2)
Linux有Mono
,它是Linux的.Net运行时。我不知道其他操作系统
无论如何,它使平台独立的原因在于它被编译为MSIL,因此任何平台都可以实现运行时并支持它。
还有一种名为.Net Micro Framework的小型嵌入式设备的实现。
答案 3 :(得分:1)
对您非常准确的问题的回答是否定的。对“可以在这些操作系统上运行.net程序”这一问题的回答是不同的。而且它可能。正如其他人所写,寻找Mono。
附录(这是后来的编辑)
我现在认为我的答案并不完整。我应该回答“是的。你安装wine然后安装.net框架”。这里有一个示例链接(对于ubuntu和.net 2.0):http://ubuntuforums.org/showthread.php?t=943298
是的,我知道这不是OP可能想知道的答案,但它至少部分回答了他所说的。
答案 4 :(得分:1)
.Net可以看作两个独立的部分。一个是ECMA standardized CLI,另一个是CLR。 CLR是CLI的微软实现。
CLI可以在许多设备上执行,例如Windows(x86,x64,ia64和现在的ARM),XBox,Zune,移动电话甚至embedded devices (small chips)。 Mono / Moonlight是CLI的实现,甚至是部分CLR由Microsoft通过Novell部分资助。 Microsoft支持此工作并发布源代码以提供帮助。通过Mono,您可以访问大多数操作系统和CPU类型。
还有一些编译器可以直接将.Net代码编译成可以由CPU直接执行的平台无关代码。如果你想用C#编写自己的操作系统,那就太好了。 (我不记得名字,但如果有兴趣我可以谷歌一些链接。)
CLI旨在成为平台和独立于langugage的。它通过各种实现在大多数操作系统和CPU上运行良好。在实践中,这意味着它支持例如语言特性,例如区分大小写/不区分大小写的变量(+更多),并且它具有与大多数CPU兼容的指令集(CLI机器代码类似于大多数CPU提供的指令)。
.Net的实现(概述以回答您的问题):
答案 5 :(得分:0)