6

是否正在做任何工作来创建 C# 编译器来生成本机 exe?例如,输出是本机 exe 而不是 .NET 程序集。

4

6 回答 6

2

如果你想要一个独立的部署(即不需要框架),有几个选项 - 见这里。但是,我不知道任何可以可靠地生成纯非托管代码的东西。您想到的用例是什么?对于嵌入式等,有微框架、CF 等。

于 2009-01-21T12:15:14.673 回答
2

为什么不试试 NGen。例如 Paint.NET 在安装后使用 nGen 创建本机图像。

于 2009-01-21T12:58:33.713 回答
1

Mono 有这样的解决方案,这是'mkbundle' - 我猜是静态链接而不是使用 JIT/CLR/GAC

于 2009-01-21T11:59:54.547 回答
1

您仍然必须以某种形式提供库,因此您仍然必须安装运行时,或者本机 exe 必须很大。

于 2009-01-21T12:05:02.947 回答
1

.NET 链接器

您可能会发现阅读以下内容也很有趣:.NET Internals and Native Compiling

请注意,要使反射起作用,必须始终提供有关代码的大量信息。

于 2009-01-21T12:47:43.563 回答
1

有两个活跃的项目。它们面向基于 CIL 的操作系统,但当前迭代的 MOSA 编译器框架在 Windows 上运行(单元测试等)并且具有有限的引导支持。Cosmos 曾经有一个 Windows 架构和一些插件,但他们不再使用 Windows - 只启动到 CIL 环境。

Cosmos 走得更远,但是它们有很多固定的对象支持。MOSA 目前只是裸机(静态方法)——尽管它是以“正确”的方式完成的,并且经过了良好的单元测试(我认为进展更快)。再给它几个月,然后回去看看。

Niether 目前有一个 JIT(这没关系,因为你不想要一个)。所有这些都被提前编译成机器码。

于 2009-01-21T12:50:40.110 回答