使用C#创建本地可执行文件

6

我该如何使用C#编译本地EXE文件?我想编译一个基本的EXE文件,而无需.NET框架。我听说过ngen.exe,有人可以给我提供ngen.exe的示例或更好的方法吗?此外,我将为生成的应用程序拥有运行时,如何将其放置在应用程序中,以便任何使用我的语言的人都可以使用其功能。


C++或Delphi,Delphi会更接近,但您必须尝试编写代码而不使用.NET库。 - Sandeep Bansal
Delphi可以编译可执行文件吗? - Steven
是的,Delphi可以编译可执行文件。 - Darin Dimitrov
以下是关于2009年这个问题的一个问题:https://dev59.com/xHRB5IYBdhLWcg3wSVi1 - Robert P
基本上...看看Mono能为你做什么。这是你能得到的最接近的东西。 - Robert P
也许问题应该是这样提出的:“是否有可能打包一个 C# 可执行文件和运行时,以便在不安装运行时的情况下运行它?” - Damon8or
1个回答

7

做不到。任何用C#编写的内容都需要在运行时安装.NET框架。NGEN只是一种优化手段,它不能替代框架。

要实现这个功能,你需要使用C++或其他不需要运行时的语言。


这个陈述并不完全正确:“用C#编写的任何东西都需要在运行它的机器上安装.NET框架。”这只有在微软的实现中才是真的。 - Conrad Frix
2
无论是Mono还是.NET,都需要一个运行时。 - kprobst
你忘了MonoTouch和Unity3d。此外,没有任何阻止你编写一个不需要任何框架的C#编译器。当然,这些都是小问题,因为很明显OP的目标是针对Windows并使用MS编译器。 - Conrad Frix
是否有一个编译成本地代码的C#实现? - Steven
据我所知,目前没有Windows的LLVM C#绑定库,除非您包括处于Alpha阶段的http://llvmsharp.codeplex.com/。但是谁知道呢?也许有人已经写了一个,只是没分享。证明不存在是棘手的。 - Conrad Frix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接