2013-02-25 2 views
2

구성 파일을 처리하고 변환하기 위해 MsBuild 스크립트를 작성하고 있습니다. 나는 .Dev.config 파일의 모음을 생성하고 있습니다.문자열을 파일 모음으로 대체하십시오.

<ItemGroup> 
    <DevConfigFiles Include="..\Source\**\*.Dev.config"/> 
</ItemGroup> 

잘 작동합니다. % (DevConfigFiles.Identity)에 대한 작업을 수행하면 예상 한 결과를 얻을 수 있습니다. 나는 그 콜렉션을 가져 와서 같은 파일 이름에 대응하는 콜렉션을 만들고 싶지만 ".Dev.config"는 ".config"로 바꾼다.

이 작업을 수행하기 위해 MsBuild 구문을 이해할 수 없습니다. 가장 좋은 방법은 무엇입니까?

참고 : * .config 파일 목록 및 * .Dev.config 파일의 해당 목록을 가져 오는 대체 기술을 고려해 볼 수는 있지만 실제로는 컬렉션에 대해 문자열 함수를 호출하는 MsBuild 구문을 이해하고 싶습니다. . 그것이 나를 위로 걷고있는 부분입니다.

다른 노트 : 문자열의 ".Dev"부분이 제거되지 않기 때문에이 경우 % (확장자) 메타 데이터를 사용할 수 없습니다. 파일 이름 부분을 고려합니다.

답변

2

비슷한 질문은 OP가 파일 모음을 가져 와서 원래 문자열을 기반으로 이름을 복사하려는 경우에 발생합니다.

MSBUild: Copy files with a name based on the original (following a pattern)

+0

흥미 롭군요. 내 사건을 해결할 수있을 것 같은데. 실험 중 ... – RationalGeek

+0

예. 그게 효과가 있었어. 조금 복잡하지만 나는 그것을 가져갈 것이다. :-) – RationalGeek

+0

@RationalGeek 그것은 나를 위해 새로운 것이 었습니다. xslt에서 함수를 호출하는 것처럼 보입니다. 그것은 당신에게 당신에게 열려있는 .NET 라이브러리를 가지고 있다는 것을 의미하므로, 뭔가 간단하게 작업을 서두르지 않아도됩니다. – Bronumski

관련 문제