你怎么能静态编译Microsoft .NET代码?

时间:2009-01-09 23:59:04

标签: .net mono

我看到这个Ars Article 关于用于静态编译的.NET Mono版本而没有用于iPhone和版本的JIT或CLR。 Wii游戏机。我假设你也可以为没有安装.NET的PC做这件事。文章似乎暗示这只能用Mono完成,但是这里有人知道是否有办法用Microsoft .Net实现吗?

4 个答案:

答案 0 :(得分:2)

有一些工具可以让你这样做。存在一些缺点,因为实际上有充分理由拥有可更新的框架。但是,肯定有一些优点。其中一个更好的产品是PostBuild:

http://www.xenocode.com/Landing/Run-NET-Without-NET.aspx?gclid=CNWvof_ZgpgCFRRhnAodsgLkDQ

答案 1 :(得分:1)

这里有两个不同的问题。编译部分可以使用ngen在.net上完成。

另一个问题是.net中的missing linker。它的工作(如果它存在)就是从框架中获取所需的部分。并且无需在客户端上安装完整的.net。正如其他人所建议的,.net中有链接器的替代方案。不是我尝试了其中任何一个。

答案 2 :(得分:0)

Salamander .NET Linker是可以在PC上执行此操作的工具之一:

http://www.remotesoft.com/linker/index.html

答案 3 :(得分:0)

好吧,“ngen”可以预先JIT一个应用程序。有other tools用于避免完整的.NET安装,但我尽量避免使用它们。一般来说:是的,您需要一个框架(但如果您想要轻量级,它可以是Client Profile,Compact Framework,Micro Framework或Silverlight;所有都是MS CLR变体)。