2011-11-07 6 views
5

저는 네이티브 바이너리로 컴파일해야하는 C# 프로젝트가 있습니다. 여기 읽었습니다 : 모노 두 가지 옵션 중 하나에 어셈블리를 미리 컴파일 할 수모노 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없이 표시됩니다. - 당신은 많은 인화를 얻어야합니다. 또 다른 가능성은 당신이 Mono 설치를 망쳤다는 것입니다.

이진 파일을 생성하려면 AOT가 아닌 mkbundle을 사용해야합니다.

3

당신은 원하지 않습니다 - 당신은 mkbundle을 원합니다.

--aot는 jit 컴파일러를 사용하는 대신 모노를 사용하여 일부 코드를 사전 컴파일하도록 지시하지만 완전한 기계 코드 바이너리를 제공하지 않습니다. 이를 위해서는 mkbundle이 필요합니다.