2010-08-19 3 views
2

vcproj (잘, ​​vcproj 파일을 포함하는 솔루션)를 빌드하고 특정 vcproj 파일의 출력을 특수 "패키지"디렉토리에 복사하는 MSBuild 래퍼 스크립트를 작성하려고합니다. 그러면이 파일이 차례로 파일로 게시됩니다 몫. 여러 가지 구성 및 플랫폼 (디버그, 릴리스, Win32, x64)에서이 작업을 수행해야합니다. 이상적으로, 특정 구성/플랫폼에 대한 vcproj 파일에서 "OutputDirectory"를 읽으면 그 내용을 복사 할 수 있기를 원합니다. csproj 파일을 사용하면 csproj 파일을 MSBuild 래퍼 스크립트로 "가져올"수 있고 "OutputPath"속성을 읽을 수 있으므로이 작업은 간단합니다. 불행히도 vcproj (VS 2008 용) 파일은 MSBuild와 호환되지 않으므로 MSBuild 스크립트로 가져올 수 없으므로 이러한 접근 방식이 작동하지 않습니다.래퍼 스크립트의 vcproj (2008) 파일에서 OutputDirectory 속성을 읽으려면 어떻게해야합니까?

"OutputDirectory"속성 값을 vcproj 파일 형식으로 읽을 수있는 방법을 아는 사람이 있습니까? 원시 OutputDirectory 속성은 "$ (ProjectDir) \ bin \ $ (ConfigurationName) \ $ (PlatformName)"과 유사하므로 XPath를 사용하고 직접 롤을 사용하고 싶지 않습니다. vcbuild를 실행할 때와 마찬가지로 모든 매크로를 확장해야합니다.

답변

1

당신은 등, Debug.Properties, Release.Properties 같은 별도의 특성 파일의 각 구성에 대한 OutputPath을 추출 할 수 있습니다 후 모두 vcproj과의 MSBuild 스크립트 파일에 지시어를 사용하여 적절한 하나를 가져옵니다.

<Import Project="Debug.Properties" /> 

또는 동적으로는 구성에 따라 달라집니다 재산 $(ConfigurationBasedPropertiesFile)

<Import Project="$(ConfigurationBasedPropertiesFile)" /> 

설정 값이 현재 구성

을 고려
관련 문제