有没有一种方法可以将.NET开发的应用程序转换为本机可执行文件(包括源代码)?
安装整个框架(最高版本为.NET Framework 3.5 SP1)需要很长时间,有时计算机无法从互联网更新。是否有可能调用NGen来生成独立的可执行文件?
谢谢。
有没有一种方法可以将.NET开发的应用程序转换为本机可执行文件(包括源代码)?
安装整个框架(最高版本为.NET Framework 3.5 SP1)需要很长时间,有时计算机无法从互联网更新。是否有可能调用NGen来生成独立的可执行文件?
谢谢。
目前尚不可用,但Mono项目团队正在开发Ahead of Time编译器 ,可以实现您要求的功能。旨在使Mono在iPhone上运行(如Unity),但它应该适用于所有平台。
编辑:它支持Mono x86,但我不确定它们是否已经包含了打包依赖类的功能(虽然从我听到的一次采访中,计划了这个功能)。
编辑2:感谢Dykam,目前支持包含依赖项。
你看过.NET 3.5 (SP1)客户端框架了吗?这可能会有助于减少一些安装要求。
您可以使用 NGen 将应用程序转换为本地可执行文件,但它仍然依赖于 .Net 框架。
这里有一个商业产品声称可以做到这一点:
http://www.xenocode.com/Obfuscator/
“安全部署.NET应用程序,无需安装.NET Framework”
不过我不知道这样做的缺点是什么。
您只需要安装您所针对的.NET版本,例如.NET1.1 或者 .NET2.0
编辑: 如果您需要针对3.5版本,则需要安装2.0和3.5两个版本。
ILMerge (免费) 可以将多个程序集合并为一个,但我认为它不适用于核心运行时。
简而言之,如果您想运行.NET程序,则需要安装.NET Framework。