.NET框架的平台独立程度如何?

3
我是一名初出茅庐的.NET开发者。我想知道Mono项目对.NET应用程序的支持程度如何。在哪里可以找到详细的信息,了解已实现的类/功能?
此外,当针对CLR的mono实现时,编码风格是否存在显著差异?(我意识到这个问题不是很清楚,请尽可能回答。)
另外,WPF支持怎么样?
我知道我可以通过谷歌搜索许多相关内容(我也确实这样做了),但总觉得不太一样。

我认为在Windows上以Mono为目标,然后跨平台问题就变得更简单了。 - David Heffernan
4个回答

4

WPF不被支持,这是显而易见的。Silverlight(又名Moonligth)是被支持的。类实现状态可以通过在线自动跟踪来查询。此外,您可以使用一个名为MoMA的工具来帮助您找到在Mono中尚未出现的API。


谢谢。从我查阅的所有来源来看,似乎没有立即实施它的计划。 - Jinal Kothari

2

请参考此页面,其中包含了全面的列表。

除其他问题外,WPF也不受支持。


谢谢,这正是我想要的。也许我没有努力去搜索。抱歉,由于声望不够,我无法将您的答案标记为最佳答案。 - Jinal Kothari
2
此外,这对于其他寻找相同信息的人可能也有帮助。http://go-mono.com/status/ - Jinal Kothari
问题不在于声望,而是你必须等待问题发布至少15分钟。如果你想的话,很快就可以接受它。 - H.B.
@H.B.:你链接的这个页面已经过时了——它是关于Mono 2.8的,而当前版本是2.10。 - skolima
@skolima:如果他们认为2.10的更改对于那个列表很重要,他们可能已经更新了它,你不觉得吗? - H.B.
1
@H.B.:很遗憾,不行。Mono最近经历了一些动荡,Novel裁员,Xamarin成为Mono背后的新公司,并且该项目目前有点缺乏人手,因为他们正在竞相推出一个用于跨平台移动.Net开发的商业产品。请查看http://www.mono-project.com/Release_Notes_Mono_2.10,了解大量的兼容性改进(VB.Net、F#、MVC3、Silverlight等)。 - skolima

1

MONO(PROS)支持的内容:

1- MONO完美支持整个.NET框架,直到2.0版本。

2- 对Windows Forms的支持几乎完整,从未给我带来麻烦。

3- MONO项目还提供了一个名为GTK#的GTK+ .NET绑定,包含在MONO中,并作为.NET 1.1及更高版本的安装程序提供。

4- Mono可以运行由.NET Framework编译的exe文件(反之亦然,直到.NET 2.0)

5- 您可以直接在其他平台上使用MONO运行Windows可执行文件(.exe),无需进行交叉编译。

6- Microsoft Silverlight有一个名为MoonLight的MONO实现。

7- 您可以将MONO运行时嵌入到您的可执行文件中(可选且未经测试)。

不支持的内容(CONS):

1- 在.NET 2.0之后没有或不完全支持,包括新功能如WPF。

2- MONO仅完全支持C#和少量VB(不支持C ++ .NET和Boo)

总的来说,只要你使用的是.NET 2.0或更早版本,MONO就完全兼容.NET Framework,因此.NET 2.0或更早版本是完全跨平台的,但后期制作的东西可能会有问题。因此,如果您在代码中仅使用.NET 2.0或更早版本的功能,则可以完美地在MONO上运行它。

谢谢你的回答。(还没有足够的声望来投票选为答案) - Jinal Kothari
没问题,我很高兴能帮到你。如果你喜欢的话,可以选择采纳我的答案。 - ApprenticeHacker
嘿,你能否也看一下我另外一个问题吗:http://stackoverflow.com/questions/4735207/storage-devices-file-transfer-and-copy-operation-logic - Jinal Kothari

1

关于 WPF,请参见这里

我不会指望从 Mono 看到 WPF。根据估计,需要 50 人年的开发工作量,而对 Novell 来说并没有那么多价值。他们的目标是移动和游戏。看起来不太可能有其他人投入那样的工作量。

@BoltClock wpf on mono won't happen.

谢谢,你提供的链接中的另一个问题包含了我所需的所有信息。看起来如果我想要跨平台支持,我不会考虑在我的应用程序中使用WPF。 - Jinal Kothari
1
如果你想要构建一个真正的跨平台应用程序,你必须为每个操作系统构建一个(半)本地化的用户界面,这意味着在Windows上使用WPF,在OS X上使用Cocoa.Net,在Linux上使用GTK#... - skolima
嘿,谢谢。你能不能也看一下我另外一个问题: http://stackoverflow.com/questions/4735207/storage-devices-file-transfer-and-copy-operation-logic - Jinal Kothari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接