MONO脱离.NET

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MONO脱离.NET相关的知识,希望对你有一定的参考价值。

大家写个文章然后告诉我好了。。
谢谢。。

我并不看好Mono(当然Mono也并不会因为谁不看好它而消失, ),毕竟.NET在设计之初并不想做到跨平台,MS也不想跨平台(FreeBSD好像是一个例外)。
我们可以设想一下,如果在开发一个基于.NET的产品或者项目的时候,如果考虑到了要移植到Linux平台,那么必然在设计的时候需要考虑到太多的东西,这样做的后果是做共享软件还可以,但是如果做企业级产品则就很不现实了,就目前而言做到分布式绝对要用到Remoting或者企业服务(COM+),那么这些东东都是原生在Windows平台的,对于Windows平台有了太多了依赖性,要移植他们绝对不是一件可以完成的事情(尤其是在没有MS的协助下-MS也不可能协助),虽然我看到Mono的1.0版本提供了对于Remoting的支持以及Web Service的支持,但是明显的是,Mono提供的延迟性太高了;再往后说,基于Longhorn的.NET版本会更加依赖于操作系统提供的核心底层服务,比如Indigo,现在是不能想象Mono的后续版本能做到针对Indigo的配合,未来的.NET开发一定是基于服务的开发,而没有Indigo则是不可想象的。
所以我个人觉得如果打算使用Mono,那么你的定位一定要非常明确:中小型项目或者产品,或者你打算做跨平台的共享软件(好像更离谱了)。
即便使用到中小型项目或者产品,你也不能违反如下的规则:
1、不能使用SQL Server2000乃至以后的Yukon
2、不能使用COM+服务
3、不能使用以后的Indigo或者目前的WSE
4、目前还不能使用WinForm,以后会提供,但是问题是Mono如何保证Winform在跨平台下的显示一致性(借鉴Java的界面布局?不知道)
5、。。。。。等等
说了这么多,其实就一句话:如果你看中的是Mono提供的.NET跨平台性而使用它,那还不如用J2EE,他做的更好。

当然,你有一个使用Mono的很好的理由:研究开源项目,来深入了解.NET的核心机制的实现原理。
参考技术A 不是说..~

.NET 3.5 实现跨平台嘛~

现在Framework开源了...进程会更快的~本回答被提问者采纳

Mono 的 .Net 组件

【中文标题】Mono 的 .Net 组件【英文标题】:.Net components for Mono [closed] 【发布时间】:2011-10-31 16:29:21 【问题描述】:

任何人都可以推荐任何与 Mono 兼容的稳定 WinForms .Net 组件。 据我所知,DevExpress 和 Infragistics 仍然有很多特定于 Windows 的 PInvoke 调用。

更新 1: 我需要具有通用外观和主题引擎的标准控件(文本框、按钮、复选框、树)的 WinForms .Net 组件。类似于 DevExpress .Net Winforms 组件,但兼容 Mono。

【问题讨论】:

您应该询问您需要的特定组件。像现在这样,你的问题太没有重点了。 【参考方案1】:

当您创建跨平台(或仅限 Linux)WinForms 应用程序时,请使用 GTK#。

没有更多选择。 wxWidgets 也有一个 .NET/mono 绑定。 然后,查找自定义 GTK# 控件。

但是,这可能需要重写,所以为什么不写一个网络界面呢? 例如使其成为一个网络应用程序并嵌入一个网络服务器来监听端口 5000 或 9000。

然后,在您的应用程序启动时,使用 URL http://localhost:5000 打开默认网络浏览器

【讨论】:

嗯,有趣的想法。谢谢。 对于在 Windows 和 Linux 上运行的嵌入式网络服务器,试试这个:weblogs.asp.net/britchie/archive/2005/07/25/420512.aspx。你也 从技术上讲,当您使用 GTK# 时,它不再是“WinForms 应用程序”。 @svick:是的,但它仍然适用于 Windows [假设您安装了 GTK 运行时] :) mono-project.com/Gui_Toolkits

以上是关于MONO脱离.NET的主要内容,如果未能解决你的问题,请参考以下文章

用C#开发的程序,我现在使用mono脱离了.net环境,但是在没有.net环境的电脑上打不开,不知怎么办?

如何利用mono执行.net程式

.Net Core 真能令微软的.Net 跨平台“蔓延”?

.NET 中的快速向量数学 - 都有哪些选项?

浅谈Unity与.NetMonoIL2CPP

Ubuntu 安装 mono