2011-09-30 3 views
4

저는 리눅스에서 모노 2.10.4를 설치했고 .NET C# 4 종속 코드베이스를 컴파일하려고 시도했습니다. MonoDevelop에서 컴파일 할 수 있었지만 명령 줄/빌드 도구에서 수행 할 수 있어야합니다.모노 타겟으로 컴파일하는 방법 C#/.net 4

실행 :

error CS1617: Invalid -langversion option `4'. It must be `ISO-1', `ISO-2', `3' 
or `Default' 

컴파일러 버전 gmcs --version :

Mono C# compiler version 2.10.4.0

또한 참고 :

0,123,516

gmcs -langversion:4 -target:library -out:foo.dll ... <sources> 

다음 오류를 생성

  1. 우분투 11.04
  2. 는 /opt/mono-2.10
  3. 모노 경로
+0

는, 당신은 볼 수 없었다하려는 힌트 : gmcs – sehe

답변

7

난 당신이 dmcs 대신 gmcs을 실행하려는 생각에 먼저 설치합니다.

Starting with Mono version 2.6 a new compiler dmcs is available as a preview of C# 4.0 (a preview since Mono 2.6 will ship before C# 4.0 is finalized).

(. 그게 내가 지금 2.10.5.0을 실행 해요로 구식 조금,하지만 결코 마음을)

편집 : 다음 CSharp Compiler page에서 실행중인 제품으로 대체는 mcsas specified here를 사용 2.10.

그런 다음 4의 특정 -langversion를 지원하지 않지만, 둘은 Microsoft 컴파일러 않습니다 당신이 Monodevelop에서 빌드 출력 창에 보면 그런데

/langversion:<string>  Specify language version mode: ISO-1, ISO-2, 3, 
          or Default 
+0

spot on 대신 dmcs가 호출되고 있습니다. dmcs는 4.0 타겟팅 컴파일러입니다 – sehe

+0

모노 지원 winforms ?? – Sandy

+0

@rapsalands : 대부분은 믿습니다. 누락 된 것을 찾기 위해 실행할 수있는 호환성 검사기가 있습니다. 물론 약간의 차이가있을 수 있으므로 Mono에서 앱을 철저히 테스트해야합니다. –

관련 문제