2013-03-07 5 views
8

어쩌면 나는 뭔가 잘못하고 있거나 순수한 무지를 표현하고 있을지 모르지만, Nuget 패키지가 얼마나 유익한지를 실제로 볼 수는 없습니까? 최근에 내 응용 프로그램에서 정적 DLL을 대체 할 많은 Nuget 패키지를 설치하기로 결정했습니다. 패키지에 의해 생성 된 폴더를 검사 할 때 하위 디렉토리 배열 아래에 모두 중첩 된 많은 다른 버전의 DLL을 포함하는 것처럼 보입니다.Nuget 패키지의 요점은 무엇입니까?

많은 파일이 중복되는 것으로 보아 전체 파일 크기가 늘어나고 게시 및 배포 루틴이 느려지는 것은 아닙니까? 또한 어떤 항목을 소스 제어에 배치해야합니까?

나는 내가 여기에서 무엇인가 놓치고 있을지도 모른다. 그러나 누군가가 Nuget 꾸러미의 미덕에 대해 나에게 계몽 할 수 있을까? bin 폴더의 간단한 dll이 완벽하게 작동한다고 생각하기 시작했습니다.

답변

8
  1. 각 패키지는 다른 패키지와 그 패키지의 버전에 따라 다릅니다. 모든 라이브러리가 호환되는지 확인하는 데 도움이됩니다.
  2. 당신은 여전히 ​​그 DLL 버전을 배포해야합니다 당신은 실제로 NuGet가 자동으로 빌드에 누락 된 패키지를로드 기능을 "패키지 복원"을 가지고 있기 때문에 당신은 소스 컨트롤에 어떤 DLL을 두지 결정할 수
  3. 이 필요합니다.
  4. 모든 의존성을 중앙에서 처리 할 수 ​​있습니다. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 필요한 패키지를 선택하십시오. 다운로드 링크 등을 더 이상 검색 할 수 없습니다.
+1

+1 소스 제어에 dll을 커밋하지 않았습니다. –

+0

감사합니다. Daniel, 소스 제어 측면은 제가 고심하는 비트였습니다. 필요한 DLL 만 선택적으로 배포하려면 어떻게합니까? VS에서 패키지 dll을 거쳐 컴파일하지 않도록 수동으로 선택해야합니까? – QFDev

+3

@QF_Developer : Visual Studio에서 프로젝트를 빌드하면 필요한 모든 DLL이 bin 폴더에 복사됩니다. 그것이 당신이 배포하는 것입니다. bin 폴더에 동일한 패키지의 여러 DLL이 없을 것입니다. –

관련 문제