ScintillaNET에 대한 참조가 포함 된 C# 프로젝트가 있습니다. 불행히도 ScintillaNET은 컴퓨터의 아키텍처를 감지하고 실행중인 아키텍처를 기반으로 기본 DLL을로드합니다. 즉, 내 프로젝트를 x86 및 x64 버전으로 미리 컴파일해야합니다 (위의 감지로 인해 CPU를 사용할 수 없음).x86 시스템에서 C# .NET x64 바이너리 컴파일
문제는 내 빌드 서버가 x86 전용이라는 것입니다. x86 컴퓨터에서 x64 모드로 .NET 어셈블리를 컴파일 할 수있는 방법이 있습니까? 내가 아는 한 토글은 단순히 컴퓨터로 하여금 필요한 아키텍처를 위해 어셈블리를로드하도록 강제하고 컴파일 시간에 아키텍처 의존적 인 코드를 출력하지는 않지만 서버를 빌드 할 때 Mono 2.10.6 아래에서 컴파일 할 때
: 같은 오류를 얻을 "오류 CS0016을 'ScintillaNet`, 원인 파일에 쓸 수 없습니다 : AMD64를"
는 이이 같이 나는 PE 헤더를 변경 CorFlags.exe을 사용할 수 없습니다리눅스 기반 빌드 서버. 이 일을 할 수있는 방법이 있습니까?
의미가 없습니다. Bitint는 ScintillaNET과 같은 라이브러리가 아니라 주 시작 어셈블리 (EXE)에서 결정됩니다. AnyCPU를 사용하십시오. –
그의 프로젝트와 같은 사운드는 주요 시동 어셈블리입니다. x64 인 시스템에서 x86으로 시작하면 Scintilla는 자체 탐지를 수행하고 x64를 찾고 x86 응용 프로그램에 원시 x64 dll을로드하려고 시도합니다. Scintilla의 버그는 컴퓨터 대신 현재 프로세스의 아키텍처를 감지하지 못합니다. – antiduh
모노 문서에 따르면'--aot' 옵션은 플랫폼을 매개 변수로 사용하지 않습니다. 지금은 불가능할 것 같습니다. –