0
64 비트 컴퓨터에서 Visual Studio 2013의 새로운 .NET 4.5 WinForm 프로젝트를 만들었습니다. 컴파일이 끝나면 .exe에서 corflags를 실행하고 32BIT 플래그가 설정됩니다.AnyCPU로 컴파일하면 64 비트 컴퓨터에서 32BIT 플래그가 설정된 어셈블리가 생성됩니다.
Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 131075
ILONLY : 1
32BIT : 1
Signed : 0
작업 관리자를 살펴보면 32 비트 프로세스로 표시됩니다.
32 비트 모드로 실행하도록하는 참조를 추가하지 않았습니다. 나는 프로젝트 파일을 살펴 보았고 의심스러운 것도 발견하지 못했습니다.
어셈블리에서 corflags /32BIT-
을 실행할 수 있으며 64 비트 프로세스로 올바르게 실행됩니다.
32 비트 실행 파일로 컴파일 할 수있는 원인은 무엇입니까?
당신은'.csproj' 파일에 어딘가에 설정 한'Prefer32Bit'은 MSBuild 속성을 가지고 있습니까? –
프로젝트 속성에는 "빌드"라는 탭이 있습니다. "Platform target"필드 아래에 "Prefer 32-bit"필드가 있습니다. 그것은 당신이 바꿀 필요가있을 수 있습니까? – AndyJ
@AndyJ 그 재산이 있는지 몰랐습니다. 그 기능을 끄고 재건하면 문제가 해결됩니다. –