脱离.net framework的C
创始人
2024-05-05 04:21:02
0

脱离.net framework的C#程序是如何实现的呢?之前看到有用别的方法来实现的,但我还是选择了现在比较流行的软件飞信中带的VMDotNet,也就是所谓的.NET FRAMEWORK虚拟机吧。相信有很多人也已经看过相关文章了,但是对于新手我还是再提一下,在你的飞信的安装目录下有一个VMDotNet文件夹,这 个就是我们要用的最主要的内容了,先把它COPY出来吧!

下面先来简单说明一下VMDotNet文件夹吧,在这个文件夹之下有一个v2.0.50727文件夹,很明显是.NET FRAMEWORK的版本号啦,进入这个文件夹,里面有一个FetionVM.exe的可执行文件(飞信的图标),这个便是我们要用到的虚拟机文件了。其 它文件我们不用考虑。这个程序可以带入一个参数,即要在此虚拟环境下运行的程序的路径。形如FetionVM.exe C:\1.exe,也可以使用相对路径:FetionVM.exe 1.exe,当然这样要求两者在同一目录下啦。这里顺便要再说一下VMDotNet.log这个文件,这里记录了在调用FetionVM.exe时的错误 信息,主要是路径不对,找不到对应的程序。在了解了这个文件夹之后,我们可以动手开始做啦!

把这个文件夹复制到你的项目的DEBUG目录下,我的已有项目名为PicProcessor,生成的可执行文件为,当然你也可以视情况而定了,如果放别的地方就应该注意一下路径就好了。

在这里我们需要再新建一个C#应用程序项目,我把它命名为PicStart,把FORM1.CS删除,或者直接新建一个控制台程序。

在Program.cs中写入以下脱离.net framework的C#程序代码:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Windows.Forms;  
  4.  
  5. namespace PicStart  
  6. {  
  7. static class Program  
  8. {  
  9. ///   
  10. /// 应用程序的主入口点。  
  11. /// 
  12.  
  13. [STAThread]  
  14. static void Main()  
  15. {  
  16. //下面是调用外部程序的代码  
  17. System.Diagnostics.ProcessStartInfo Info =   
  18. new System.Diagnostics.ProcessStartInfo();  
  19. Info.FileName = "VMDotNet\\v2.0.50727\\FetionVM.exe";   
  20. //这里是你要调用到的外部程序  
  21. Info.Arguments = "PicProcessor.exe";   
  22. //调用外部程序的参数,  
  23. //这里是图片处理项目的可执行文件,注意不是现在这个项目的可执行文件  
  24. System.Diagnostics.Process Proc;  
  25.  
  26. try 
  27. {  
  28. //  
  29. //启动外部程序  
  30. //  
  31. Proc = System.Diagnostics.Process.Start(Info);  
  32. }  
  33. catch (System.ComponentModel.Win32Exception e)  
  34. {  
  35. Console.WriteLine("系统找不到指定的程序文件。\r{0}", e);  
  36. return;  
  37. }  
  38. }  
  39. }  
  40. }  

在做完了这个项目以后我们生成此项目,这个时候我们就可以开始制作程序的安装文件了。

以前我们利用VS2005做安装包的时候可以选择把.NET FRAMEWORK集成进去,但现在我们不用了,请大家把相应的选项全部去掉,还不会使用VS2005安装和部署功能的朋友请到此网址去看一下。http://www.vs2005.com/Setup/205/1/default.aspx

我们把PicProcessor和PicStart项目都添加进新建的安装和部署项目Setup中来,把程序启动的快捷方式全部设为 PicStart.exe就可以了,具体的操作方法在上面的链接里有。然后开始生成安装包,生成的安装包如果选择大小优先的话,VMDotNet会占用大 概10Mb左右的空间,然后加上你程序的大小就是这个安装文件的大小了,比以前20多MB的.Net Framework小多了,而且安装速度也要快的多,这样程序在没有.Net Framework的机器上也能运行了,大家都试试吧,有什么问题可以给我留言。每天晚上一般我都会上线,会及时给大家回复的!

脱离.net framework的C#程序实现的基本内容就向你介绍到这里,希望对你了解和学习脱离.net framework的C#程序应用有所了解。

【编辑推荐】

  1. .NET Framework概念及开发浅析
  2. C#实现打印功能实例详解
  3. C#及.NET FrameWork的概念浅析
  4. C#和.NET Framework浅谈
  5. .NET Framework详解之内存机制

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...