이 post을 기반으로 할 수 없습니다. 얼마 전에 질문을 올렸습니다. 실현 가능한 대안을 찾을 수 있었습니까?
피드백 후 편집 :
<!-- CommandX.props -->
<PropertyGroup>
<CommandX>bar</CommandX>
</PropertyGroup>
그런 다음 프로젝트 또는 다른 빌드 후 명령에 $(CommandX)
을 추가 할 수 잠재적으로 지저분한 대안이 될 것 는 매크로로 명령을 정의 할 수 속성 시트. $(CommandX)
이 없으면 자동으로 무시됩니다. 빌드에 대해 좀 더 학습 후
<!-- Some-Other-Property-Sheet.props -->
<ImportGroup Label="PropertySheets">
<Import Project="CommandX.props" />
</ImportGroup>
: 다른 속성 시트에이 매크로를 추가하면 값을 상속 $(CommandX)
있도록
, 당신은 Import
에 CommandX
속성 시트이있을 것이다 프로세스, 나는 사용을 권장하고 싶습니다 MSBuild tasks; 특히 Exec task이 가장 적합한 솔루션을 제공 할 수 있습니다.
아니요, 저는 제 질문에 따라 모든 프로젝트를 개별적으로 개별적으로 유지 관리해야했습니다. 내가 생각한 (그러나 구현하려고 시도하지 않은) 유일한 해결책은 스크립트를 통해 내 자신의 상속 구조를 설계하는 것입니다. 모든 프로젝트에서 빌드 후 이벤트와 동일한 스크립트를 호출하고 프로젝트 이름을 변수로 전달하고 스크립트 적절한 추가 명령을 실행하십시오. Clunky,하지만 적어도 하나의 파일 만 유지 관리하는 것을 줄일 수 있습니다. – JBentley
또는 각 프로젝트가 자신의 스크립트 (MSVC의 내장 매크로를 사용하여 프로젝트 종속 위치에서 스크립트를 호출 함)를 호출하고 스크립트가 상속받은 프로젝트에서 스크립트를 재귀 적으로 호출하도록합니다. 두 가지 방법 모두의 주된 문제점은 상속 구조 자체를 두 곳 (속성 시트 및 스크립트)에서 업데이트해야하며, 그렇지 않은 경우 상속 구조가 동기화되지 않아야한다는 것입니다. – JBentley