2015-01-30 3 views
3

패키지가 다른 라이브러리에있는 모든 종속성에 대해 해당 라이브러리를 확인하고 설치해야합니까?NuGet 패키지 종속성

NuGet Dependencies

내 패키지 지금 가지고있는의 고객뿐만 아니라 이러한 패키지를 설치하는 마십시오

예를 들어, 나는 NLog, PostsharpWindowsAzure.Storage를 사용하는 패키지를 만들어? 패키지에 이러한 종속성 DLL을 포함시킬 수없는 이유는 무엇입니까?

답변

7

사용자가 너겟 패키지를 설치하면 nuget도 자동으로 종속 패키지를 확인하고 설치합니다.

dll은 패키지 내에 포함 할 수 있지만 권장하지 않습니다. 한 가지 방법이나 다른 방법으로 패키지를 사용해야하는 DLL에 대한 참조가 있어야합니다 (이 경우 NLog, PostSharpWindowsAzure.Storage). 소비자가 어떤 라이브러리가 설치되어 있는지를 제어하는 ​​것이 더 좋습니다.

nuget을 통한 종속성의 또 다른 이점은 패키지에 dll을 주입하지 않은 상태에서 소비자가 WindowsAzure.Storage 라이브러리의 최신 버전을 설치하기로 결정할 수 있다는 것입니다. 그렇지 않으면 어수선한 어셈블리 런타임 오류가 발생할 수 있습니다.

너겟 패키지를 빌드하는 데 사용 된 nuspec 파일을 통해 패키지에 포함 된 내용을 제어 할 수 있습니다.

+2

이 답변은 명확하지 않습니다. _nuspec_ 파일에는 패키지의 종속성 목록이 있어야합니다. 사용자가 패키지를 설치할 때, NuGet은 의존성을 조사하고, 존재하지 않을 경우 의존성을 자동으로 설치합니다. 또한 이러한 종속성의 종속성을 설치합니다. 참고 : 사용자는 종속성을 수동으로 설치할 필요가 없습니다. http://docs.nuget.org/create/nuspec-reference의 _ DependencyS_ 지정을 참조하십시오. – Kiliman