使用MONO使.net程序脱离.net框架运行

时间:2022-08-11 12:58:24

原文:http://www.cnblogs.com/daylight/archive/2008/10/02/1303037.html


其实就是换mono的公共语言运行时来使用。这样做的好处是体积小,发布免安装。首先,您需要下载mono的最新版(目前是2.0.1)。http://ftp.novell.com/pub/mono/archive/2.0.1/windows-installer/1/mono-2.0.1-gtksharp-2.10.4-win32-1.exe,安装后,就可以继续进行了。

1、用Visual Studio创建一个Windows应用程序,假设叫做WinApp,并添加一个按钮。

2、编译此项目,得到一个WinApp.exe文件。

3、自己建立一个文件夹WinApp,其中再建立bin和lib这两个文件夹

4、将mono安装文件夹中的bin和lib子文件夹中需要的文件拷贝至刚才建立的那两个文件夹。mono的默认安装位置是:C:/Program Files/Mono-2.0

5、将需要运行的exe文件放入WinApp文件夹。

6、调用,可以使用bat批处理来调用,bin/mono.exe WinApp.exe。(其实写个VC++的小程序调用最好,可以我没学过VC++)

 

MoNo主页:http://www.mono-project.com

 

Mono 是一个由 Novell 公司(先前是 Ximian )主持的项目。该项目的目标是创建一系列符合 ECMA 标准(Ecma-334 Ecma-335)的 .NET 工具,包括 C# 编译器和共通语言执行平台。与微软的 .NETFramework 不同,Mono 项目不仅可以运行于 Windows 系统上,还可以运行于 LinuxFreeBSDUnixMac OS X Solaris

Mono 现由 Novell 持有双重许可,这和 Qt Mozilla 应用程序套件的情况相似。 Mono 的 C# 编译器及其相关工具发布于 GNU General Public License(GPL)之下,其运行时库发布于 GNU LesserGeneral Public License(LGPL)之下,其类库发布于 MIT License 之下。这些均是开源协议因此 Mono 是一个开源软件。如果你打算向 Mono 贡献你的源码,则你须签署一个版权分派给 Novell 以允许它将这些代码在其它协议下再申请许可,从而允许 Novell 保留其双重许可的能力来持有 Mono 的商业协议


微软开发了一个称为共享源码公共语言基础(Shared Source Common Language Infrastructure,Shared Source CLI)的可用于 FreeBSD,Windows 和 Mac OS X 的 .NET 实现版本。微软的共享源码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途)。我们还可以见到另外一个 .NET 实现版本,Portable.NET 项目,该项目与 Mono 项目有着很多相同的目标。


Mono 虚拟机包含一个实时编译引擎,该引擎可用于如下处里器:x86SPARCPowerPCARMS390(32位模式和64位模式),x86-64IA64 和64位模式的 SPARC。该虚拟机可以将代码实时编译或者预先编译到原生代码。对于那些没有列出来的系统,则使用的是代码解释器。