2012-11-09 4 views
1

많은 프로젝트가 포함 된 상당히 큰 솔루션이있을 것입니다. 소스 코드가있는 폴더에는 .obj 또는 .exe 또는 .dll이 없어야합니다. 어떤 시점에서 파일. 그래서,이 구조를 내놓았다 :Visual Studio에서 출력 경로 설정

SolutionDirectory 
|- MainProject 
    |- MainProject.csproj 
    |- Main.cs 
    ... 
|- FirstSlaveProject 
    |- FirstSlaveProject.csproj 
    ... 
|- SecondSlaveProject 
    |- SecondSlaveProject.csproj 
... 
|- BuildFolder 
    |- MainProject 
     |- bin 
     |- obj 
    |- FirstSlaveProject 
     |- bin 
     |- obj 
    |- SecondSlaveProject 
     |- bin 
     |- obj 
    ... 

을 아이디어는 모든 소스 파일 내부 프로젝트 '폴더 있다는 것입니다, 모든 바이너리가 "BuildFolder"이동 프로젝트의 이름으로 정렬. 꽤 합리적이지, 그렇지?

내 솔루션 내에서 새 프로젝트를 만들 때 나는 %SolutionFolder%\BuildFolder\%ProjectName%\%ProjectConfigName%\bin" and "%SolutionFolder%\BuildFolder\%ProjectName%\%ProjectConfigName%\obj과 같은 것을 작성해야한다고 생각합니다.

그래서 정확히 어디에 쓰는지 (그리고 각 Debug, Release, UnstableSpeedup 등의 설정을 별도로 작성하지 않아도 되겠습니까?), 정확히 어떻게해야합니까? 나는 VS가 %SolutionFolder을 인식 할 수 있을지 의심 스럽다.

어쩌면 쉘 스크립트 또는 VS 추가 기능이 있습니까?

답변

0

나 자신을 알아 냈으니 다른 사람에게 유용 할 수 있기를 바랍니다.

나는 파일을 .csproj 열고이 삽입 :

<PropertyGroup> 
    <OutputPath>$(SolutionDir)BuildFolder\$(MSBuildProjectName)\$(Configuration)-$(Platform)\bin\</OutputPath> 
    <IntermediateOutputPath>$(SolutionDir)BuildFolder\$(MSBuildProjectName)\$(Configuration)-$(Platform)\obj\</IntermediateOutputPath> 
</PropertyGroup> 

마지막PropertyGroup 태그 후.

EXE가 실제로 "SolutionDirectory\BuildFolder\MainProject\Debug-x86\bin" 안에 나타나고 모든 중간 항목이 "SolutionDirectory\BuildFolder\MainProject\Debug-x86\obj"이되었습니다. Visual Studio는 여전히 내 소스 트리 안에 빈 "obj"디렉토리를 만듭니다. 아무리 비어 있어도별로 중요하지 않습니다.

1

프로젝트가 생성되면 프로젝트를 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭하십시오. 빌드 탭에는 출력 경로 상자가 있습니다.

각 프로젝트별로 자동화 할 수 있을지 모르겠습니다.

+0

슬프게도, 그것은 a) "obj"디렉토리를 움직이지 않고, b) 설정마다 작동합니다. 수동으로 6 개의 다른 경로 설정 (디버그 -x86, 디버그 -x64, 릴리스 -x86, 릴리스 -x64, UnstableSpeedup-x86, UnstableSpeedup-x64)은 성가신 일입니다. 그리고 정확하게 "출력"상자에 무엇을 써야합니까? –

+0

출력 경로는 바이너리를 출력 할 디렉토리입니다. 귀하의 경우에는 .. \ BuildFolder \ MainProject, .. \ BuildFolder \ FirstSlaveProject 등이 될 것입니다. 각 빌드마다 수동으로 폴더를 만들 필요는 없습니다. 폴더가 디렉토리에 없으면 빌드 할 때 폴더가 생성됩니다. –

+0

상단에 구성 드롭 다운이 누락되었습니다. 또한 프로젝트를 언로드하고 .csproj를 직접 편집 할 수 있으므로 구성 드롭 다운을 전환 할 필요가 없었습니다. –

관련 문제