2017-04-12 2 views
3

두 개의 패키지 \ 프로젝트 "A"와 "B"가 있습니다. "B"는 "A"에 따라 참조 용으로 사용됩니다. TFS의 빌드 프로세스가 "A"를 빌드 할 때 nuspec에서 nuget 패키지를 만들고 새 버전을 제공하고이를 내 TFS 전용 패키지에 넣습니다.너겟 패키지 의존성을 자동으로 업데이트하는 방법은 무엇입니까?

제 문제는 모든 "B"빌드에서 잘 정의 된 "B"패키지를 만드는 것입니다. 내가 사용하는 "B"프로젝트를 통해 업데이트 새로운 "A"패키지를 만드는거야 그 어느 때

<dependencies> 
    <group targetFramework=".NETFramework4.5"> 
     <dependency id="A" version="[1.0.0.3]" /> 
    </group> 
</dependencies> 

다음 "B.nuspec"파일에서 나는 현재의 "A"패키지의 버전을 쓰기 새로운 "A"릴리스 -> 이것은 또한 "packages.config"를 예상대로 최신 "A"버전으로 업데이트합니다. 문제는 "B"빌드 프로세스가 "A"의 종속성이 "n"인 nuspec 파일에서 "B"패키지를 생성한다는 것입니다.. 그리고 "packages.config"에서 "A"버전을 사용하기를 원합니다.

자동 검색 방법이 있습니까? (nuspec 파일을 "A"의 새 ​​버전마다 수동으로 변경하지 않고) B-> "packages.config"에서 버전을 읽고 "B.nuspec"에 작성하는 작은 "Post-Build"프로세스를 만드는 방법을 생각했습니다. "파일을"A "종속 섹션에 저장합니다. TFS가 쉽게 지원합니까?

답변

2

"packages.config"파일에서 해당 버전을 가져 와서 nuspec 파일에 다시 쓰는 스크립트를 트리거하는 새로운 게시 빌드 이벤트를 추가했습니다.

나는 스크립트와 포스트 빌드 이벤트를 GIT에 업로드하여 필요할 때마다 사용할 수 있습니다.

https://github.com/avrum/NuspecAutoUpdate

1

이 질문에 당신은/빌드 프로세스 (예 : PowerShell 스크립트와 같은) 새로운 빌드 단계를 추가 그것을 달성하기 위해 정의를 구축 할 필요가 빌드 시간 Cannot automatically update a NuGet package to the latest version during build

에서 당신의 NuGet 패키지 자동 업데이트와 비슷합니다.

+0

는 글쎄 그것은 내가이 질문을 만든 후 이벤트 스크립트를 추가 .. 그 비슷한 아니다. 감사 –

관련 문제