Novell 旗下的 Mono 项目今日发布 2.0 版, 使在 Linux 平台上实现微软 .NET 框架项目获得巨大促进。Mono 2.0 是 Novell 主持的一个开源项目,目标是在 Linux 平台实现微软的 .NET 框架。随着最新的 2.0 版发布,二者之间的差距越来越小。
虽然 Mono 2.0 兼容微软 .NET 2.0,但和微软最新的 .NET 版本并不完全兼容。Mono 的努力非常重要,因为它的目标是在 Linux 上运行 .NET 程序。
Mono 项目主管 Miguel de Icaza 告诉记者,"我们正在某些地方赶上微软的 .NET。"
De Icaza 表示,Mono 项目的一直在做的是辨别开发者们用的是 .NET 的哪些部分。自 Mono 1.2.3 发布以来,MoMA (Mono 移植分析) 工具就出台,用来检查微软的 .NET 可执行程序,以便获得运行 .NET 所需要的所有东西。
得益于 MoMA 的统计结果,我们可以将人们最实用的东西优先对待。De Icaza 说,这意味着我们推迟了一些 API 的开发,比如,WPF 就不在我们目前的开发进度中。
WPF 是微软 .NET 3.0 的一部分,曾一度以代码名 Avalon 闻名。WPF 包含在 Windows Vista 和 Windows Server 2008 中,为开发者提供了一个图形子系统。 De Icaza 说,WPF 目前还没有被广泛采用。
IT 开发者和厂商之间的步调并不一致。他说,诚然,会有些早期采用者,他们喜欢最新的 API,但这些用户并不是 Mono 的用户,除此之外的普通开发者会和 Mono 保持一致。
除了不支持 WPF,Mono 2.0 还有其它一些问题。Novell 产品经理,Joseph Hill 表示,那些通过了 MoMA 分析的程序中,只有50%才100%兼容 .NET。50% 足可以说明 Mono 的进展状况,Mono 前面的版本的这一比例仅为10%。.NET 可以调用非托管代码以及老的函数库。这就带来一些麻烦,如果某个程序调用了老的函数库,而 Linux 上没有这种库,移植这样的程序就会出现问题。另外,有些函数是只用于 Windows 平台的,这样的函数,Mono 也不会移植。
从技术角度看,Mono 2.0 的主要改进是完全支持 Windows Form,这项工作 Mono 花费了几年的工夫。
Mono 2.0 对我们非常重要,我们已经完全支持 .NET 2.0。Hill 说,我们的 2.0 版工作已经做了很久,现在已经完全支持桌面组件,Windows Form,我们已经达到我们所认为的完全支持。
Windows Form 是 Windows 桌面平台的一个图形 API,Hill 承认,将 Windows Form 完整集成到 Mono 2.0 是一个艰巨的任务。可能其中最大组件就是内嵌的浏览器控件。Hill 解释,它是基于 Windows 平台的 IE 浏览器的,我们基于 Firefox 重写了这个控件,但必须保留原来 IE 控件的一些行为。
Novell 从2001年开始从事 Mono 项目,2004年推出第一个 Beta 版 Mono 1.0。Mono 2.0 是一个重大的版本升级,下一个版本 Mono 2.2 将于今年11月发布。Mono 2.2 会推出新的代码生成引擎,会产生更优质的代码。会对 Windows Form 以及其它内容做进一步改进。
分享到:
相关推荐
标题“MONO实现.NET程序脱离框架”涉及到的关键技术是Mono,这是一个开源的.NET框架实现,它使得.NET应用程序能够在不依赖Microsoft Windows操作系统或官方.NET Framework的情况下运行。这为开发者提供了跨平台的...
2. **Mono项目**: Mono是一个开源实现的.NET框架,可以在多种操作系统上运行C#代码。它提供了自己的虚拟机(MVM)来执行IL,从而实现了C#的跨平台能力。 3. **.NET Standard**: 这是一组API规范,定义了.NET平台的...
虽然ASP.NET 2.0最初是为Windows环境设计的,但现在通过开源项目Mono和Microsoft的.NET Core,ASP.NET应用可以在Linux上运行。这意味着ASP.NET 2.0的网站导航特性也可以在非Windows环境中部署和使用。 五、快速入门...
Mono项目,是由Miguel de Icaza领导的一个开源项目,旨在实现.NET框架,并且提供了一个与微软.NET兼容的开发环境,支持多种操作系统,包括Linux、Mac OS X等。在 Mono 2.0 版本中,包含了C#编译器的重要更新和改进,...
.Net Core是微软推出的一个全新的开源、跨平台的.NET框架,它于2016年首次发布,旨在实现.NET平台的现代化,以适应云计算、容器化以及微服务等现代软件开发需求。 首先,.Net Core的诞生与历史上.NET框架的跨平台...
DevFw 是一个.net平台上的开发框架,包含插件内核,模板引擎,数据库访问工具,ORM,及一些基础类库。是从我的另外一个开源项目"CMS"中分离出来的:http://www.oschina.net/p/ops-cms。开发环境VS2013运行环境支持...
Mono是开源的.NET框架,它实现了.NET Framework的大部分API,并且可以在多种操作系统上运行,包括Linux、macOS和Android等。 Mono Tools for Visual Studio 是一个扩展,它将Visual Studio的IDE功能与Mono平台相...
mono 是一个跨平台的.NET框架实现,使得.NET应用能在非Windows系统上运行,如Linux或macOS;codesmith 是一款强大的代码生成工具,常用于快速开发和自动化任务。 在压缩包中的文件“mono.security.dll”正是解决...
ILSpy是一款开源的.NET框架反编译工具,它在.NET开发者中被广泛使用,特别是在Reflector收费之后,ILSpy成为了许多开发者的首选。这款工具允许用户查看.NET程序集的内部结构,包括类、接口、方法、属性、事件以及元...
此 API 是用 C# 编写的,完全依赖于.NET Standard 2.0 功能,因此它与以下 .NET 平台兼容:\n平台 最低版本\n.NET核心 2.0\n.NET框架 4.6.1\n单核细胞增多症 5.4\nXamarin.Mac 3.8\n使用场景\n如果您偶然发现这个...
Microsoft .NET 1.x through 4.5.1Windows Runtime (WinRT for Windows 8.1)Windows Runtime (WinRT for Windows Phone 8.1)Windows Phone 8 (Silverlight)Silverlight 5Android (using the Xamarin tools)iOS ...
.NET Standard 2.0是一个API规范,它定义了.NET平台上所有实现(如.NET Core、Mono或Unity)应支持的一组公共API。这使得开发者可以编写一次代码,然后在多个.NET实现上运行,提高了代码的重用性和可移植性。Aspose....
例如,版本2.0的.NET Standard包含了版本1.0至1.6的所有API,并且支持.NET Core 2.0、.NET Framework 4.6.1、Mono 5.4、Xamarin.iOS 10.14、Xamarin.Android 8.0和Xamarin.Mac 3.8等环境。较高的版本会包含更多的API...
首先,确保安装了Apache Web服务器、Mono框架以及相关的Mono模块,以便能够处理ASP.NET请求。 ##### 命令示例: ```bash sudo apt-get install apache2 mono-gmcs mono-utils monodoc-htm libapache2-mod-mono mono...
在Windows操作系统中配置Apache服务器以运行Mono是一个常见的需求,这主要适用于那些希望在Windows环境下使用ASP.NET或其他.NET框架应用程序的开发者。Apache与Mono的结合可以让用户在非Microsoft环境中运行.NET应用...
- **稳定性和高性能**:.NET框架内置了多项优化措施,能够在保证稳定性的同时提供出色的性能表现。 - **面向服务架构(SOA)**:.NET支持构建基于服务的应用程序,这种架构模式有利于系统的解耦和重用。 #### .NET...
这个项目的目标是使.NET应用程序能够在Linux、Unix以及Windows等平台上无缝运行,打破了.NET框架对Windows系统的依赖。Mono的出现有可能显著降低.NET应用的开发成本,并推动跨平台应用程序的发展。研究人员认为,...
XMLUnit.NET 2.x 构建: 在Linux上使用Mono 4.0和.NET Core 2.1的Travis CI: 在Windows上使用.NET 3.5和.NET Core 2.0的AppVeyor: XMLUnit是一个支持以多种方式测试XML输出的库。 XMLUnit 2.x的一些目标: 创建在...
Mono是.NET Framework的一个开源实现,它允许在非Windows平台上(如Linux)运行C#和.NET应用程序。 描述中的“Linux和Mono演示”意味着这个项目旨在展示如何在Linux环境下利用Mono来操作SQLite数据库。Linux是一个...
Mono框架是Microsoft的.NET Framework的一个开源实现,它支持多种操作系统,包括Linux、Mac OS X以及Android和iOS等移动平台。在Mono for Android中,开发者可以利用.NET Framework的强大功能,同时享受到Android...