2011-11-07 98 views
5

我有一个C#项目,我需要编译为本地二进制文件。我在这里读到:使用mono aot/aot-full编译:没有任何事情发生?

http://www.mono-project.com/AOT

单音可以预编译组件的两个选项之一:

  1. --aot:预编译的映像(基本上因为它看起来一样NGEN我)
  2. --aot =全:完全编译到原来的.exe文件的本机二进制实例

我相当肯定,我理解这些权利,但是C对于--aot = full选项应该是错误的。

然而,当我运行:

mono.exe --aot=full --verbose program.exe

我没有得到任何输出,对可执行文件的最后修改日期保持不变,不会生成文件。我也试过,只是作为测试:

mono.exe --aot --verbose program.exe

我得到了同样的结果;没有输出,一般没有图像文件或文件,什么都没有。

我在这里错过了什么吗?

+0

你在哪个平台上?你试图选择哪种单声道版本? –

+0

@RolfBjarneKvinge Windows 7 x64,Mono v2.10.6 – applepi

回答

5

你应该做一个错误报告。 AOT信息通常即使没有--verbose也会显示。用--verbose你应该得到很多印花。另一种可能性是您打破了Mono安装。

但是,如果您想生成本机可执行文件二进制文件,则应该使用mkbundle而不是AOT。

3

你不想要 - 不是,你想要mkbundle

- 不告诉mono预编译某些代码,而不是使用jit编译器,它不会给你一个完整的机器代码二进制文件。为此,你需要mkbundle。

相关问题