C# net 程序脱离.net framework

作者:<wbr><a href="http://hi.csdn.net/space.php?uid=2519652"><span style="color: rgb(255, 0, 0);">摩羯·鑫</span><wbr></wbr></a><span style="color: rgb(255, 0, 0);"><wbr><wbr><wbr> 注: 转载请注明出处,谢谢<br> Blog:<wbr><a href="http://hi.csdn.net/space.php?uid=2519652">http://hi.csdn.net/space.php?uid=2519652</a><wbr><br> 本文地址:<a href="http://blog.csdn.net/zchin/archive/2010/08/06/5793010.aspx">http://blog.csdn.net/zchin/archive/2010/08/06/5793010.aspx</a></wbr></wbr></wbr></wbr></wbr></span></wbr>

<wbr></wbr>

网上很多让.net<wbr>程序脱离<span>.net framework</span><wbr>环境运行的方法:</wbr></wbr>

第一种是基于移动飞信的虚拟器,具体实现是<wbr><span style="font-family: 宋体; color: black;">在</span><wbr><span style="color: black;">VMDotNet<wbr></wbr></span><span style="font-family: 宋体; color: black;">目录里面会找到一个</span><wbr><span style="color: black;">FetionVM.exe<wbr></wbr></span><span style="font-family: 宋体; color: black;">。这个是虚拟环境的</span><wbr><span style="color: black;">loader</span><wbr><span style="font-family: 宋体; color: black;">。使用方法:</span><wbr><span style="color: black;">FetionVM.exe pathtoyoure.exe</span><wbr><span style="font-family: 宋体; color: black;">就是直接把你的</span><wbr><span style="color: black;">.Net<wbr></wbr></span><span style="font-family: 宋体; color: black;">程序</span><wbr><span style="font-family: 宋体; color: black;">作为命令行参数传递给</span><span style="color: black;">FetionVM.exe<wbr></wbr></span><span style="font-family: 宋体; color: black;">就可以在这个虚拟环境中执行你的.</span><wbr><span style="color: black;">net</span><wbr><span style="font-family: 宋体; color: black;">程序了。在这里就不详细介绍了。</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr> 第二种基于</wbr></wbr></wbr><wbr><span style="color: black;">mono</span><wbr><span style="font-family: 宋体; color: black;">的</span><wbr><span style="line-height: 21px; font-family: 宋体;">.net</span><wbr><span style="line-height: 21px; font-family: 宋体;">程序脱离<span>.net framework</span><wbr>环境运行。或许还有其他方法,现在</wbr></span><wbr><span style="font-family: 宋体; color: black;">详细介绍可以使</span><span style="line-height: 21px; font-family: 宋体;">.net</span><wbr><span style="line-height: 21px; font-family: 宋体;">程序脱离<span>.net framework</span><wbr>环境运行的另一种方法,基于<span>Remotesoft Liker</span><wbr>,具体步骤如下</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr>

1<wbr><span style="line-height: 21px; font-family: 宋体;">、可先到<a href="http://download.csdn.net/source/2601256">http://download.csdn.net/source/2601256</a><wbr>下载</wbr></span><wbr><span style="line-height: 21px; font-family: 宋体;"><span>Remotesoft Liker</span><wbr></wbr></span><span style="line-height: 21px; font-family: 宋体;">程序包,解压后,包含两个压缩文件:</span></wbr></wbr>

<wbr><wbr><wbr><img src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src="http://hi.csdn.net/attachment/201008/6/2519652_12810688710UuN.jpg" alt="" width="130" height="130" style="border-width: 0pt; border-style: none; max-width: 100%;" title="C# net&lt;wbr&gt;程序脱离.net&lt;wbr&gt;framework"></wbr></wbr></wbr>

2<wbr><span style="line-height: 21px; font-family: 宋体;">、解压<span>RemoteSoft_Linker+2[1].1.rar<wbr></wbr></span>,包含<span>LinkerPatch.exe</span><wbr>和<span>Remotesoft_DOTNET_Linker_Evaluation_2.1.0_VS2005.msi</span><wbr>两个文件</wbr></wbr></span></wbr>

3<wbr><span style="line-height: 21px; font-family: 宋体;">、先安装<span>Remotesoft_DOTNET_Linker_Evaluation_2.1.0_VS2005.msi</span></span></wbr>

4<wbr><span style="line-height: 21px; font-family: 宋体;">、解压<span>Remotesoft_2[1].1.rar</span><wbr>,解压后,进入<span>Linker</span><wbr>目录,目录如下:</wbr></wbr></span></wbr>


5<wbr><span style="line-height: 21px; font-family: 宋体;">、此时,进入到<span>bin</span><wbr>目录</wbr></span></wbr>

<wbr></wbr>

6<wbr><span style="line-height: 21px; font-family: 宋体;">、进入之前解压的<span>RemoteSoft_Linker+2[1].1</span><wbr>目录,双击执行<span>LinkerPatch.exe</span></wbr></span></wbr>

<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>点击Browse…<wbr>按钮,进入<wbr><span>Remotesoft_2[1].1</span><wbr>对应解压目录的<span>bin</span><wbr>目录,并选择<span>mini_sta.exe</span><wbr>文件</wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

并点击Pathch<wbr>按钮。</wbr>

此时编译环境配置成功。

7<wbr><span style="line-height: 21px; font-family: 宋体;">、接下来,利用配置好的环境测试一下<span>.net</span><wbr>程序脱离<span>.net framework</span><wbr>环境运行,建立一个简单的<span>.net winform<wbr></wbr></span>桌面程序,并生成相应的执行程序。</wbr></wbr></span></wbr>

7.1 新建一个Windows窗体应用程序


7.2<wbr></wbr>在生成的默认窗体中加入两个.net<wbr></wbr>控件。简单的实现点击按钮button1<wbr>则改变<span>checkBox1</span><wbr>的选中状态。</wbr></wbr>

接下来,生成项目

运行效果如下:

7.3<wbr></wbr>进入之前解压的Remotesoft_2[1].1.new/Linker<wbr>目录,新建一个测试目录,这里我命名为:<span>NoFrameworkTestAppTest</span></wbr>

<wbr></wbr>

7.4<wbr></wbr>接下来到写好的winform<wbr>程序生成目录下拷贝运行文件:<span>NoFrameworkTestApp.exe</span><wbr>到</wbr></wbr>

Remotesoft_2[1].1.new/Linker/ NoFrameworkTestAppTest<wbr><span style="line-height: 21px; font-family: 宋体;">目录中,并建立一个批处理文件,对应下图中的<span>mdeploy.bat</span><wbr>。</wbr></span></wbr>


7.5<wbr></wbr>使用记事本打开mdeploy.bat<wbr>,写入以下命令保存并关闭:</wbr>

7.6<wbr></wbr>双击运行该批处理运行。


7.7<wbr></wbr>当该批处理命令运行结束后,会生成一个mdeployed<wbr>的文件夹,里面包含所有支持<span>winform</span><wbr>测试程序运行的<span>dll</span><wbr>文件和一些资源文件。</wbr></wbr></wbr>

好了,现在就可以将这个文件夹整个拷贝到没有装.net framework<wbr>环境的机器上运行看看效果了。</wbr>


8<wbr><span style="line-height: 21px; font-family: 宋体;">、在这里,为了演示该方法的可行性,我就拷贝到一个远程机器上,该机器上没有安装<span>.net framework</span><wbr>环境,所以你在试验的时候,也确认一下你试验的机器上是否安装了<span>.net framework</span><wbr>环境。免得白高兴一场 :)</wbr></wbr></span></wbr>


8.1

运行效果如下:

<wbr></wbr>

<wbr></wbr>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
刚学C#时就一直想找到一种方法可以让.Net程序在未安装framework的电脑上运行,但一直没有找到真正可用的。虽然有些公司发布了可以将.net代码编译成navtive代码以脱离.net环境运行,如Remotesoft DOTNET Linker,Xenocode Postbuild等,但一直没有破解版,用它们编译的程序每次运行会添出个版权信息。最近偶然发现一种方法可以做到真正使程序脱离.net环境运行且没有任何版权信息添出,现将使用方法、源代码、测试程序发布于此: 请首先在文章末尾下载测试程序,是一个用C#做的串口工具,下载解压后有两个文件夹(FrameWork和APP)和一个程序(串口工具.exe),在APP文件夹下有一个名为9527.exe的程序,这个是C#真正的“串口工具.exe”,而主目录下的串口工具.exe只是一个Loader程序,它运行后首先判断电脑上有没有安装framework,若有,则直接启动APP下的9527.exe程序;若无,则通过framework虚拟机(FrameWork下的VM.exe(其实是飞信框架里的FetionVM.exe,修改了它的图标和版权,想改成其它的大家可以用VC改一下,有网友强列要求指出这一点,想不明白为什么,呵呵,让指出就指出吧,还要求指出调用的方法,,其实我连源程序都公布了,用说的这么明白吗))启动9527.exe程序。Loader程序不会打开任何窗口,并在启动真正应用程序后立即退出。Loader程序主函数(VC6.0编)的代码附件上有

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值