我有一个C#项目,我需要编译为本机二进制文件。我在这里读到:
http://www.mono-project.com/AOT
Mono可以将程序集预编译为以下两个选项之一:
我很确定我理解这些是正确的,但对于--aot = full选项可能是错误的。
然而,当我跑步时:
mono.exe --aot=full --verbose program.exe
我没有输出,可执行文件的最后修改日期保持不变,并且没有生成任何文件。我也尝试过测试:
mono.exe --aot --verbose program.exe
我得到了相同的结果;没有输出,没有图像文件或一般文件,没有。
我在这里错过了什么吗?
答案 0 :(得分:6)
您应该制作错误报告。即使没有--verbose,通常也会显示AOT信息。使用--verbose你应该得到很多印刷品。另一种可能性是您已经破坏了Mono安装。
然而,如果你想生成本机可执行二进制文件,你应该使用mkbundle而不是AOT。
答案 1 :(得分:3)
你不想要 - 你想要mkbundle。
- aot告诉mono预编译一些代码而不是使用jit编译器,它不会给你一个完整的机器代码二进制文件。为此你需要mkbundle。