빌드 구성 : 혼합 플랫폼 VS 모든 CPU


답변:


42

다음은 Visual Studio 및 해당 빌드 파일에있는 빌드 구성 설정을 설명하는 데 도움이되는 링크입니다.

http://web.archive.org/web/20151215192101/http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

기본적으로 설정은 어셈블리를 실행할 수있는 플랫폼을 나타냅니다. AnyCPU를 선택하면 결과 DLL은 어디서나 실행할 수있는 것으로 표시됩니다. x86을 선택하면 결과 DLL은 32 비트 시스템에서만 실행할 수있는 것으로 표시되고 64 비트 응용 프로그램이나 프로세스에서는 실행되지 않습니다 (그러나 64 비트 Windows에서는 실행 됨).

이것은 컴파일 된 DLL에 플래그를 설정하기 만합니다. 컴파일 프로세스의 다른 측면을 전혀 변경하지 않습니다.


1
: 또한, 솔루션 파일의 상호 작용에이 링크를 체크 아웃 social.msdn.microsoft.com/forums/vstudio/en-US/...
J. Polfer

49
이것은 "혼합 플랫폼"을 설명하지 않는 것 같습니다.
Menace

2
@Menace 내 이해는 (잃어버린 참조에서) 모든 프로젝트에 동일한 구성이없는 솔루션을 열 때 Visual Studio가 솔루션 구성을 혼합 플랫폼으로 표시 / 선택한다는 입니다. (나는 원래 참조를 찾을 수 있다면, 나는 인용과 함께이 개정됩니다.)
koan911

8
visualstudiohacks.com/articles/… 링크 가 죽었습니다.
AH.

40

다른 플랫폼이 이미 설명했듯이. (즉, 32 비트 용 X86, 64 비트 용 x64, '모든 CPU'모두에서 실행 가능). 나는 Mixed Platform이것이 Any CPU.

이는 Any CPU실제 솔루션에서와 같이 하나의 솔루션 아래에 여러 프로젝트가 있고 내 프로젝트 중 일부는을 Any CPU사용하고 다른 일부는 x86또는 x64빌드 플랫폼을 사용할 가능성이있는 프로젝트 수준 설정 입니다.

따라서 솔루션 수준에서 자동 Mixed Platform으로 선택됩니다. 이는 솔루션 빌드 / 다시 빌드 중에 각 프로젝트가 선택한 플랫폼을 기반으로 빌드됨을 나타냅니다.


17

빌드 구성 이름은 그다지 의미가 없습니다. 다양한 유형의 프로젝트가 서로 다른 구성 이름을 사용하기 때문에 동일한 솔루션에 C ++ 및 C # 프로젝트가있는 경우 (그리고 모바일 프로젝트도있는 경우에는 더 나쁨) 확산됩니다. 그들과 함께.

우리는 사용하지 않는 모든 구성을 계속 삭제하려고 노력하지만 새 프로젝트를 추가 할 때 종종 원치 않는 구성이 솔루션에 다시 추가되는 경우가 있습니다.

내 권장 사항은 필요한 구성을 결정한 다음 (그 안의 실제 설정을 확인하여) 다른 모든 구성을 제거하는 것입니다.


10

보낸 사람 :이 게시물. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

솔루션의 모든 프로젝트가 동일한 유형 (예 : C # / VB 프로젝트)이면 솔루션 구성이 프로젝트 구성과 정확히 일치합니다. 구성 / 플랫폼이 일치하지 않는 솔루션에 프로젝트가 있으면 Visual Studio는 솔루션 수준 구성 (들) "혼합 플랫폼 / 디버그"및 가능하면 "혼합 플랫폼 / 릴리스"를 만듭니다. 이러한 구성은 개별 프로젝트 수준 구성에 대한 매핑 일뿐입니다.

예를 들어 C # 프로젝트와 C ++ 프로젝트가있는 경우 일반적으로 "Mixed Platforms / Debug"는 C # 프로젝트의 경우 "Any CPU / Debug"로, C ++ 프로젝트의 경우 "Win32 / Debug"로 매핑됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.