C#-C#脱离framework直接运行有什么其他好办法吗?

C#-C#脱离framework直接运行有什么其他好办法吗?

灵芸 发布于 2017-09-26 字数 46 浏览 1141 回复 2

例如飞信可以在不安装framework的时候运行

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜无邪 2017-10-06 2 楼

现成的工具有 Xenocode 的postbuidle或者vas, Salamander .NET Linker, 以及MaxToCode 作者以前做的 framework linker. 以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等.

Salamander .Net Linker ,Remotesoft的一个产品,没有可以下载的,但是其兼容性似乎很好。移动的飞信软件就利用了它的核心。

在网上找到一种直接利用飞信的框架来实现脱离 .Net framework运行的方法,供参考。

首先下载一个飞信的程序安装。在安装目录中会有 VMDotNet
目录。这个就是.Net框架虚拟环境需要的文件。

直接把整个目录提取出来。

如何利用这个虚拟环境运行 自己的 .Net 程序呢?
很简单,一个命令行搞定。在 VMDotNet 目录里面会找到一个
FetionVM.exe 。这个是虚拟环境的loader。 使用方法:
FetionVM.exe pathtoyoureexe 就是直接把你的
.Net 程序 作为命令行参数传递给 FetionVM.exe
就可以在这个虚拟环境中执行你的。net程序了。

最好再自己写一个启动程序,首先检查系统是否安装了。Net框架,如果有直接运行。没有调用虚拟环境运行。

这个启动程序飞信也有,如果不想自己写就直接拿飞信安装目录中的
Feition.exe,但是这样的话 你自己的.Net程序的名字必须叫
FeitionFX.exe 。把它和Feition.exe
放在同一目录下,直接执行 Feition.exe 即可。

另外,如果你对。Net程序使用了加密保护,需要注意一下,目前市面上的大部分。Net加密工具加密后的程序集不能在这个虚拟环境中运行的。

这个东西除了能实现脱离
。net框架运行外,还有另外一个副作用--让。net程序运行在指定版本的
。net
框架中(虽然机器上安装了。net框架,仍然可以让。net程序在这个虚拟框架下运行)。

泛泛之交 2017-10-03 1 楼

飞信是自己写了个.net 虚拟机运行,所以不需要安装framework就可以运行
你可以考虑使用Mono平台