2010-05-17 5 views
3

플랫폼 대상에 따라 다른 어셈블리 이름을 생성해야합니다. 예를 들어 콘솔 응용 프로그램 "bob.exe"가 있습니다. AnyCPU를 빌드하는 대신 x86 및 x64 용으로 명시 적으로 빌드해야하므로 "bob32.exe"및 "bob64.exe"가 필요합니다. Visual Studio 2010 프로젝트 옵션의 응용 프로그램 탭은 플랫폼 콤보 박스를 비활성화합니다. 빌드 이벤트는 또한 플랫폼 당 옵션을 허용하지 않으므로 나중에 쉽게 이름을 바꿀 수 없습니다.각 플랫폼 대상에 대해 다른 어셈블리 이름

업데이트 : 수동으로 프로젝트 파일을 편집하는 것이 가장 효과적이며 추가 파일이 빌드의 일부가 아니며 pdbs의 이름이 일치해야합니다.

답변

10

IDE에서 처리 할 수 ​​없지만 msbuild.exe는 처리합니다. 메모장과 함께 .csproj 파일을 편집하십시오. x86/x64 및 디버그/릴리스 설정에 대한 4 개의 PropertyGroups가 표시됩니다. 첫 번째 요소에는 <AssemblyName> 요소가 있습니다. 다른 그룹에 복사하여 붙여 넣으십시오. 그리고 그들의 가치를 개명하십시오.

3

게시 후 이벤트를 추가하여 $(PlatformName) 매크로를 사용하여 실행 파일을 복사 할 수 있습니다.

복사 (이름 바꾸기가 필요)하거나 디버거가 작동하지 않아야합니다.

+0

이것은 거의 비슷하지만 $ (PlatformName)은 "x86"또는 "x64"이며 플랫폼 이름을 바꾸는 옵션이 표시되지 않습니다. 이상적으로 나는 "32"와 "64"를 원합니다. 나는 맹목적으로 bobx86.exe를 각 빌드 후에 bob32.exe에 복사하기 위해 여분의 두 단계를 추가 할 수 있다고 생각합니다. – Murray

+0

구성 관리자로 이동하여 플랫폼의 이름을 바꿀 수 있습니다. – SLaks

+0

프로젝트의 플랫폼 이름을 바꿀 수 없으며 솔루션 만 사용할 수 있습니다. – Murray

관련 문제