将 .NET 可执行文件转换为本机可执行文件
-
19-09-2019 - |
题
是否有任何方法可以将 .NET 开发的应用程序转换为本机可执行文件(包括源代码)?
安装整个框架(最高可达 .NET Framework 3.5 SP1)需要花费大量时间 - 计算机并不总是从互联网上更新。是否可以调用 NGen 来生成独立的可执行文件?
谢谢
没有正确的解决方案
其他提示
这是尚未公布,但Mono项目团队上工作时间编译器年的展望>会做你在找什么。其意图是用于单声道在iPhone上(如统一)工作,但它应为所有平台上工作。
编辑:它支持单x86的,但我不知道他们是否已经包括在依赖类包尚未功能(尽管从采访中听说,它的计划)
修改2:<!/强>包含依赖目前被支撑,由于Dykam
没有,NGen'd代码仍需框架 - 它只是预JIT们在自己的组件的代码。它还需要用于CLR本身的框架。
我相信单具有他们正在使用的iPhone规划静态编译。我不知道这是否会在Windows上工作,以及虽然。
有曾经是一个称为Thinstall产品,其用于此一些人。它现在被称为的ThinApp - 基本上它的应用虚拟化。这是商业,但你很可能是能够获得试用版的保持。
我个人倒有点担心任何这样的产品 - 当它涉及到部署,从做事的主流方式于水火之中远离听起来像很多支持电话的配方。这里还有一个可怕的很多出问题。我不是说这是行不通的,只是我会警惕。
你有没有看了的 .NET 3.5(SP1)客户端配置文件?这可能有助于减少您的安装要求一点。
使用.NET 3.5 SP1也能够安装.NET Framework的较小子集。看看这张截图: 结果 <子>(来源: windowsclient.net )子>
您可以使用NGEN,使您的应用程序的本地可执行文件,但它仍然是依赖于.NET框架。
有些混淆器做到这一点,你就必须做到这一点,事前,但(你交付给用户之前)。一个例子是 remotesoft的蝾。
您只需要安装,您的目标.NET例如版本.NET1.1 或强> .NET2.0
修改:如果您需要为目标的3.5版本,您需要安装两个2.0和3.5
ILMerge (免费)可以在几个组件合并成一个,但我不认为它的工作原理与核心运行时。
总之我认为,如果你想运行.NET程序,你需要安装.NET Framework。
来自VMware的ThinApp(以前Thinstall)。使用是非常昂贵的,虽然。
我们目前要解决2007年问题的唯一产物是 Xenocode Postbuild 。从那时起,我们成功地使用本产品,我们还利用其相当不错的虚拟化功能。
唯一的问题是,我们购买了不支持Windows 7的版本(在这里您不需要安装.NET Framework来运行你的版本<4.0编译后的程序)。于是我写信给Xenocode。他们回答
为了获得Win 7的支持,你应该升级到Postbuild的最新版本(现在叫 .NET混淆)。赢7不为2007 Postbuild支持的平台。
为什么不Ngen.exe? http://msdn.microsoft.com/en-我们/库/ 6t9t5wcf(v = VS.80)的.aspx
它可以转换成.Net Programs
也Native Programs
,你已经拥有了它,如果你有.Net框架