龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

好文推荐:C#程序如何脱离.net框架的运行多种方法与应用

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
使用VS开发的项目程序,可以脱离.NET框架来运行,好帅吧,本文主要介绍C#编写的winform程序脱离.net框架的方法。【也支持VB.NET和C++.NET】,例子用到[飞信,mono(支持webservice),.netlinker],本

使用VS开发的项目程序,可以脱离.NET框架来运行,好帅吧,本文主要介绍C#编写的winform程序脱离.net框架的方法。【也支持VB.NET和C++.NET】,例子用到[飞信,mono(支持webservice),.netlinker],本文转自http://hi.baidu.com/44498/blog/item/dabd37166a11bd10962b437d.html

题外话:

【支持以数据为中心的应用程序,支持SQL SERVER 各个版本以及ACCESS数据库,至于Oracle数据库,没试验过,有兴趣的朋友可以自己当做练习。】

支持2.0 ,3.0 , 3.5 ,其实三个版本都是一个CLR,稍作调整即可使用LINQ等先进的解决方案。
一看就懂,一学就会,一目了然。。。
以下所有例子,本人均亲自实验,在2k,xp,2003,vista,2008下都是可以运行的。也包括X86和X64平台。

进入主题:

1, .Net Linker :中国移动的飞信就利用了它的核心。飞信是使用C#在.NET上开发的。贵,最便宜的版本要1000多美金。【傻瓜式操作,这里不做介绍】

2,用飞信的虚拟机来引导自己开发的.NET程序。

3,使用mono来达到脱离.NET框架的效果,可以跨平台。【完美支持.net2.0,以及绝大多数.NET3.5】

////////////////////////////////实验过程///////////////////////////////////////////////////////////////////////////////////

例子1:先说最简单的,使用飞信虚拟机来试验吧。

【不要引用VB编写的控件或者是类库,因为飞信的虚拟机功能很少】

先安装"飞信2008正式版",然后打开安装目录,里面有个VMDotNet文件夹,里面就是.NET虚拟环境相关文件了,找到飞信安装目录下的"VMDotNet\v2.0.50727\FetionVM.exe"来启动运行我们的.NET WinForm程序:

【可以使用命令行来传值也可以用其他方式,都是一样的】例如:

WinExec("FetionVM.exe 我的程序.exe", SW_SHOW);     //C++

为了方便,我们可以编写一个检测.net框架版本的程序作为引导程序,如果已经安装了.net框架就不用虚拟机,如果没有安装,调用虚拟器来启动程序。【请不要使用C#或者其他托管类型的语言来编写这个引导程序,否则失去了意义】。

很容易吧?但是有个弊端,你的.NET程序如果要操作类似于SQL SERVER2000,2005,2008 或者是MYSQL,Oracle,DB2等数据库,用这个飞信自带的虚拟机实现就比较麻烦,所以这个飞信的虚拟机只能做简单的程序应用。还有一点大家要注意,使用飞信的虚拟机,涉及到的还有版权问题。测试一下,压缩以后文件大概是6,7M左右,还行。

例子2:使用MONO来脱离框架并且跨平台。注:测试结果显示,使用MONO启动.NET程序速度是最快的。

首先到MONO的官方网站下载源代码或者最新版本,然后安装,我用的是2.2版本【目前已经有2.4版本了,比较新,支持的更多】。

为了方便各位朋友试验,我提供我本次试验的MONO版本2.2 :

下载地址: ftp://ftp.novell.com/pub/mono/archive/2.2/windows-installer/5/mono-2.2-gtksharp-2.12.7-win32-5.exe
精彩图集

赞助商链接