2009-08-23 2 views
2

현재 나는이 비슷한 빌드 후 이벤트 명령 줄을 사용하고 있습니다 :C 번호 : 다음 내 EXE에 기본 종속성을 복사하는 우아한 방법은

xcopy /Y /R d:\svn\some\directory\somedll.dll $(TargetDir) 

문제는 이것이다 : 다른 사람은 밖으로 코드를 검사 할 때 이 명령에서 경로를 수정해야하는 다른 디렉토리. 이 작업을 수행하는 데 익숙하지 않은 방법이 있습니까?

답변

6

.sln 파일에 고정 된 상대적인 위치에, 당신은이 같은 상대 경로 일 수 있습니다 : (. $(SolutionDir)의 값이 후행 백 슬래시를 포함합니다)

xcopy /Y /R $(SolutionDir)..\directory\somedll.dll $(TargetDir) 

5

d:\svn\some\directory 경우 다음 당신은 당신의 비주얼 스튜디오 솔루션에 somedll.dll을 추가하고 파일 속성에 "항상 복사""출력 디렉토리에 복사"를 설정할 수 있습니다 솔루션 폴더에 있습니다. 가정 d:\svn\some\directory

+0

+1 여기에도 감사합니다. – George

2

빌드 후 이벤트에서 명령 줄을 사용하는 대신 .csproj 파일을 편집하여 빌드 스크립트의 일부로 실제 msbuild 작업을 사용할 수 있습니다. 여기

RichieHindle's answer는 XCOPY보다는 MSBuild에서 작업을 사용하고 있습니다 :

<Target Name="PostBuild"> 
    <Copy 
     SourceFiles="$(SolutionDir)..\directory\somedll.dll" 
     DestinationFolder="$(TargetDir)" 
     /> 
</Target> 

.csproj 파일에서는 사전/사후 빌드 타겟에 대한 주석 스텁을 볼 수 있습니다.

관련 문제