2014-01-30 1 views
0

Visual Studio 2012에서 대부분의 작업이 암시 적으로 MSBuild를 사용하는 프로젝트에서 작업하고 있습니다. 그러나 몇 가지 unixy 도구를 통합해야하며 몇 가지 bash 스크립트가 있습니다. 이미 msysgit을 사용하고 있기 때문에 가능합니다. git-bash 쉘에서 도구와 스크립트를 호출하는 경우 도구와 스크립트는 잘 작동합니다 ( ). 하지만 MSBuild에서 사전/사후 빌드 작업으로 일부 작업을 실행하고 싶습니다.VisualStudio/MSBuild에서 (MSYS git) bash를 안정적으로 호출하는 방법

문제는 MSBuild가 bash를 어떻게 찾습니까? 존재한다고 가정하지만 개발자는 다른 위치에있는 PC에 간단히 설치하고 개발자는 %PATH%에 거의 추가하지 않을 것입니다. PC 당 최소 구성과 관련된 솔루션이 필요합니다. 전혀 전혀 이상적이지 않습니다.

답변

1

가장 쉬운 방법은 MsBuild 솔루션에 적합한 기본값을 정의하고 필요에 따라 개발자가 재정의하도록하는 것입니다. %PATH%에있을 bash 또는 git을 요구하는 것은 합리적인 기본 따라서 당신은 핵심 MSBUILD 파일을 가져 오기 전에 같은

<PropertyGroup> 
    <BashCommand Condition="'$(BashCommand)' == ''">bash</BashCommand> 
</PropertyGroup> 

이 방법으로 값을 정의하여 그렇게 할 수있는 설정을 무시하고 싶었 모든 개발자를 그것을 설명 할 수있다

+0

VStudio-fu가 약합니다. 개발자는 솔루션의 모든 프로젝트에서 작동하는 방식으로 개인 $ (BashCommand) 재정의를 어디에서 정의 할 것입니까? –

1

사용자 설치 (일반적으로 Windows 용 Git)에 대해 이야기하고 있다고 가정 할 때 - Windows 용 Git (실제로는 msysGit)을 개발할 수있는 개발자 설치가 아니라 - Git이 %ProgramFiles% 또는 %ProgramFiles(x86)%에 설치되었다고 가정하면됩니다. 사용자가 다른 곳에 설치 한 경우 설정할 수있는 세 번째 옵션, 예를 들어 %GitForWindows%을 추가 할 수도 있습니다.

이것이 좋지 않다면 InnoSetup 설치 관리자 (또는 Windows의 설치된 소프트웨어 관리)가 레지스트리에 약간의 흔적을 남긴다는 것이 확실합니다. 그러나 이는 약간 깨지기 쉬운 것일 수 있습니다. 레지스트리 키가 변경되지 않아야합니다. , 이제까지.

+0

이름을 생각 나게 해 주셔서 감사합니다. –

관련 문제