2011-11-07 134 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。

相關問題