使用mono aot/aot-full编译:似乎没有任何事情发生?

app*_*epi 6 .net c# mono aot

我有一个C#项目,我需要编译为本机二进制文件.我在这里读到:

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

Mono可以将程序集预编译为以下两个选项之一:

  1. --aot:预编译的图像(与我看起来基本上和Ngen一样)
  2. --aot = full:完全编译为原始.exe的本机二进制实例

我很确定我理解正确,但是--aot = full选项可能是错误的.

但是,当我跑:

 mono.exe --aot=full --verbose program.exe  
Run Code Online (Sandbox Code Playgroud)

我没有输出,可执行文件的最后修改日期保持不变,并且没有生成任何文件.我也尝试过测试:

 mono.exe --aot --verbose program.exe 
Run Code Online (Sandbox Code Playgroud)

我得到了相同的结果; 没有输出,没有图像文件或一般文件,没有.

我在这里错过了什么吗?

小智 6

你应该做一个bug报告.即使没有--verbose,通常也会显示AOT信息.使用--verbose你应该得到很多印刷品.另一种可能性是您已经破坏了Mono安装.

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