是否正在做任何工作来创建 C# 编译器来生成本机 exe?

问题描述 投票:0回答:6

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

c# exe native
6个回答
2
投票

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


2
投票

如果您想要独立部署(即不需要框架),有几个选项 - 请参阅此处。但是,我不知道有什么可以可靠地生成纯非托管代码。您想要的用例是什么?对于嵌入式等有微框架、CF等


1
投票

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


1
投票

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


1
投票

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

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

Niether 目前有 JIT(这并不重要,因为你不需要)。它全部提前编译为机器代码。


1
投票

.NET 链接器

您可能也会觉得读起来很有趣:.NET 内部结构和本机编译

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

© www.soinside.com 2019 - 2024. All rights reserved.