当前位置:  开发笔记 > 后端 > 正文

.NET世界中的静态编译

如何解决《.NET世界中的静态编译》经验,为你挑选了2个好方法。

我将为拥有WinXP机器的客户端编写一个小型桌面应用程序,他们不会安装.NET框架(至少不适合我).

所以我的选择仅限于C++或VB6,两者都不是很好.我记得当时Mono想出了一个静态编译器,但最近我唯一能找到的就是Miguel de Icaza为了在iPhone上运行应用程序而在游戏引擎上进行静态编译 - 不是我的考虑到了.

有没有任何产品,免费或商业,允许我静态编译我的.net 3.5 winform应用程序?

谢谢



1> Reed Copsey..:

你可以尝试使用Remotesoft Salamander.

它完全符合你的要求.



2> hemp..:

Mono极大地改进了对Ahead of Time编译(AOT)的支持,假设您愿意/能够以Mono而不是.Net运行时为目标,那么应该可以静态编译几乎任何CIL应用程序.

这是否是一个好主意总体上取决于应用程序和您的约束.

例如,Novell现在发布了MonoTouch,这是一个完全AOT编译和链接的CLI实现,允许.Net应用程序(不仅仅是游戏)在iPhone上针对CocoaTouch框架运行.

这些相同的AOT技术可用于编译Winforms应用程序,该应用程序不需要.Net或Mono运行时作为先决条件.有很多与AOT相关的绩效权衡(正面和负面),所以如果没有尽职调查我就不会前进.


编辑:

回应John Saunders关于"为什么不为他们安装它?"的问题.这实际上提出了一个原因,你可能需要AOT编译.. Bootstrappers.

要安装任何东西,您必须运行可执行文件.您可以分发MSI(将隐式启动msiexec.exe),也可以分发exe.MSI虽然功能齐全,却是一个非常糟糕的开发者体验.因此,您可以使用.NET构建引导程序(AOT编译消除运行时依赖性),在安装应用程序之前安装必要的先决条件(例如.NET).

此外,一些公司可能需要提供可下载的可执行文件,这些可执行文件不需要用户安装任何东西(无声或其他).

还有一个:安装.NET需要管理权限.AOT可能允许您绕过您的应用程序的要求.

同样,这些是否是一个好主意完全取决于应用程序和您的约束.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有