2012-03-30 2 views
4

여러 버전 트리에서 NuGet을 사용하는 올바른/수락 된 방법은 무엇입니까? 우리는 2.12 버전의 제품을 가지고 있으며 계속해서 작업 중이며 주요 번호 2에 속하는 최신 버전을 생성합니다. 동시에 버전 3.5도 다른 기능 세트 및 스키마와 함께 활발하게 작업하고 있습니다. 동일한 NuGet 패키지 ID를 사용하면 기본적으로 사용자는 항상 3.5 버전을 사용하게됩니다.NuGet 버전 트리

주요 프로젝트 버전마다 각각 다른 패키지 ID를 만들어야합니까?

답변

5

두 가지 가능한 해결책이 있습니다. 다른 패키지 ID를 사용하거나 packages.config 파일을 직접 편집하여 클라이언트가 특정 버전 범위를 사용하도록 제한 할 수 있습니다.

<packages> 
    <package id="SomePackage" version="2.1.0" allowedVersions="[2,3)" /> 
</packages> 

이 클라이언트가 최신 2.X 버전을 얻을 만들 것,하지만 3.X 버전으로 업그레이드하지 : 당신이 version constraint 설정할 수있는 packages.config에서

.

1

이 페이지는 여기에서 http://nuget.codeplex.com/wikipage?title=Pre-Release%20Packages가 도움이 될 것입니다. 간단히 말해 2.12이라는 태그가 붙은 패키지는 안정적인 것으로 분류되지만, 예를 들어. 3.5beta은 시험판 버전으로 간주되며 –Prerelease 플래그를 사용해야 만 설치할 수 있습니다.

+0

감사합니다. 상위 버전이 베타 버전 인 동안 도움이되지만 주요 버전 2와 3이 모두 생산되고 다른 기능 세트와 db 스키마가 있으며 상황에 따라 자체적으로 발전하는 상황이 있습니다. 하나의 대답은 잘 모범 사례는 아니지만 그것이 내가 처한 상황입니다. –