2014-07-19 5 views
4

내 C# 프로젝트의 플랫폼 대상을 여기에서 변경하는 방법을 알고 있습니다. http://msdn.microsoft.com/en-us/library/ms185328.aspx 그러나 내 질문은 다음과 같습니다. 동시에 x86 및 x64 플랫폼을 대상으로 할 수 있습니까?플랫폼 대상 x86 및 x64 동시에 Visual Studio 2012에서

빈 \ 디버그 \의 86 (86 DLL을 & EXE)

빈 \ 디버그 \의 64 (64 DLL을 & EXE)

: 비주얼 스튜디오 2012, 그래서 내가 이렇게 내 디버그 디렉토리에 두 개의 폴더를해야합니다

그래서 항상 프로젝트의 모든 빌드에서 두 플랫폼 어셈블리를 사용할 수 있습니다.

편집 : 모든 CPU를 사용하여 : "모든 CPU"플랫폼을 사용하여 내 응용 프로그램을 구축하고 64 비트 운영 체제에서 실행하는 경우, 프로세스는이를 것을 의미 작업 관리자에서 연장 32 *있다 나는 "모든 CPU"를 사용하여 내 응용 프로그램을 구축하기 위해 노력하고 내가 64 창에서 실행하면, 내가 작업 관리자에서 프로세스는 확장자가 발견

+1

무엇을 사용하고 있습니까? 또는 어떻게 빌드를 트리거 할 계획입니까? –

+0

왜 "Any CPU"를 사용하고 싶지 않으십니까? – Yozer

+0

Visual Studio 2012를 사용 중입니다. 빌드 메뉴를 사용하거나 솔루션 탐색기를 사용하여 빌드를 트리거합니다. –

답변

7

32 비트 어셈블리없는 64 비트 32 *

솔루션 구성 이름으로 인해 혼란에 빠집니다. VS2012 이상의 관리 프로젝트의 경우 기본값은 "AnyCPU"입니다. 상당히 정확한 이름 인 .NET 프로젝트는 지터 덕분에 모든 CPU에서 실행될 수 있습니다. 그러나 이러한 구성 이름은 네이티브 프로젝트 (C 및 C++)에만 관련되며 프로젝트를 빌드하는 데 사용되는 컴파일러 종류를 선택합니다. 그들은 기계어 코드에 직접 적용되기 때문에 x64 코드를 생성하려면 다른 컴파일러가 필요합니다.

런타임에 사용되는 지터 종류를 선택하면 최신 버전의 Windows에서 32 비트 및 64 비트 프로세스를 모두 실행할 수 있습니다. 그러나 이것은 완전히 다른 설정이며 구성 이름과 관련이 없습니다.

EXE 프로젝트, 속성, 빌드 탭을 마우스 오른쪽 단추로 클릭하십시오. 플랫폼 대상 설정이 AnyCPU인지 확인하고 "32 비트 선호"확인란을 선택 취소하십시오. 지터 선택을 제거하면 프로세스가 64 비트 버전의 Windows에서 64 비트 프로세스가됩니다. 지터 덕분에 여전히 32 비트 버전으로 실행됩니다. 릴리스 구성에 대해이 설정 변경을 반복하십시오.

파일 시스템과 비트율에 따라 다른 레지스트리보기와 관련된 여러 가지 미묘한 점이 있다는 것을주의해야합니다. 두 가지 맛을 모두 테스트해야 .NET 프로젝트가 32 비트 모드로 기본 설정되는 이유 중 하나입니다.

관련 문제