2010-12-16 4 views
31

NuGet을 사용하여 필요한 참조를 추가/업데이트 했으므로 소스 제어에 packages.config를 추가하고 빌드 할 때 .dll을 추가 할 수 있습니까?내 타사 라이브러리 바이너리는 소스 제어에 보관해야합니까?

일반적으로 this related question에서 설명한 것처럼 솔루션 루트 아래의 폴더에 제 3 자 종속성을 저장하고 소스 제어에 체크인합니다.

우리는 현재 사용자 지정 빌드 도구 나 스크립트를 사용하지 않고 있습니다. VisualStudio의 .sln 파일을 사용한 기본 빌드 만 사용합니다.

+1

+1 나는 좀 더 똑같은 패키지/NUnit에 3MB가 있다고 생각합니다. 모든 것을 또는 그냥 dll을 던지거나 아무것도하지 마십시오 – Omu

+1

이 NuGet 문서를 읽는 것이 좋습니다. [소스 제어에 패키지를 커밋하지 않고 NuGet 사용] (http://docs.nuget.org/docs/workflows/using-nuget- without-committing-packages) –

답변

15

예! http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

현재 NuGet 워크 플로우는 항상 패키지 폴더를 소스 제어로 커밋해야합니다. NuGet이 없으면 개발자가 일반적으로 수행하는 작업과 일치합니다. 'Lib'또는 'ExternalDependencies'폴더를 만들고 거기에 바이너리를 덤프하고 다른 사람들이 빌드 할 수 있도록 소스 제어에 커밋합니다.

일부 사용자에게는 정상적으로 작동했지만, 소스 제어 도구로 위탁 한 패키지는 원하는대로 수행되지 않는다는 의견도 많습니다. Mercurial이나 Git과 같은 DVCS를 사용할 때 커밋 바이너리는 시간이 지남에 따라 저장소 크기가 커질 수 있으므로 복제가 점점 어려워집니다. 사실 NuGet의 이슈 트래커에 대한 주요 요청 중 하나였습니다.

좋은 소식은 NuGet이 이제이 문제를 해결하는 데 긴 시간이 걸리는 워크 플로를 제공한다는 것입니다. 아직 100 % 자동화 된 것은 아니지만 최소한의 고통으로이 작업을 할 수있는 프로젝트를 설정할 수 있습니다 ...

+0

감사합니다. 그것에 대해 그런 논쟁이 있었다는 것을 깨닫지 못했습니다. – hometoast

+3

NuGet 1.1부터는이 작업을 수행 할 수 없지만 NuGet 1.2 또는 1.3에서는이 작업을 고려하고 있습니다. – Haacked

+0

감사합니다. 나는 오늘 1.1로 업데이트 할 예정이었고 내 질문을 먼저 확인했다. – hometoast

관련 문제