상세 컨텐츠

본문 제목

NuGet 이란?

Visual Studio/Visual Studio 2012

by 탑~! 2013. 5. 8. 10:56

본문

Nuget? 과자 이름과 같은 이것은 프로젝트에 포함할 오픈 소스 라이브러리들을 쉽게 설치 및 업데이트 시켜주는 Visual Studio의 확장 프로그램이다. 


세상에는 무수히 많은 .NET용 오픈 소스 라이브러들이 산재해 있다. 이 많은 소스를 일일이 구글링 해서 검색하는 것도 어려울 뿐더러, 만일 발견했다손 치더라도 그 라이브러리들이 참조하는 다른 소스들을 또 다운로드 받고 설치하는 것은 여간 까다로운 일이 아니다. 게다가, 프로젝트에 포함된 라이브러리가 업데이트라도 되는 날에는 위의 과정을 계속 반복해야 한다. 


이러한 문제점을 해결하고자, nuget을 이용하면 쉽게, 오픈 소스 라이브러리를 검색할 수 있으며, 맘에 드는 쉽게 설치하고, 업데이트도 쉽게 할 수 있다.


nuget은 이런 라이브러리들을 package라는 단위로 묶어 관리한다. 이러한 패키지에는 닷넷 어셈블리/예제 소스/javascript 및 기타 다른 파일 들이 포함될 수 있다.


사용방법을 알아보자,


Visual Studio 2010 SP1을 기준으로 하겠다. 반드시 SP1을 설치하길 바란다. 최근 각종 최신 버젼의 Visual Studio Add-In과 MVC, Silverlight SDK는 모두 SP1기준으로 나온다. 심지어, Nuget 최신버젼도 SP1 이상에서만 작동한다.


새로운 라이브러리 설치

1. 프로젝트를 생성한다. (또는 기존 프로젝트를 연다.)

2. 라이브러리를 추가하길 원하는 프로젝트에서 마우스 오른쪽을 누른후에, Add Package Library 혹은 Manage Nuget Packes를 클릭한다.


(Add Package Library라고 나오는 분은 VIsual Studio에 번들로 탑재된 Nuget인 경우입니다.)


3. Nuget으로부터 nunit 최신 버젼을 설치 해보겠습니다. 왼쪽 Online탭에 놓고, 오른쪽 검색에 nunit라고 입력한다.



4. 중앙의 검색 결과중 nunit을 선택후, Install 버튼을 눌러 설치한다. 


(nunit에 관련된 라이브러리 3개가 참조에 추가된 것을 확인할 수 있다.)



기존 라이브러리 업데이트 확인및 설치

앞서 설명했듯이, nuget은 새로운 라이브러리 설치 뿐 아니라, 기존 nuget을 통해 설치한, 패키지의 업데이트를 쉽게 확인시켜 주고, 기존 라이브러리를 업데이트 시켜준다. 


1. Manage Nuget Packes (혹인 Add Package Library)를 실행한후 Updates 탭을 눌러 설치된 라이브러리의 업데이트가 존재하는지 확인한다.




Visual Studio 2010 SP1에는 Entity Framework 4.0혹인 4.1이 포함되어 있다. 사용자가 nuget으로 직접 설치는 안했지만, 번들기능으로 설치되고 packages.config로 관리 되고 있기 때문에, updates항목에 표기가 된다.


2. EntityFramework를 선택후 Update를 눌러 업데이트를 수행한다.


( Entity Framework 4.1이 4.2로 업데이트 된 것을 확인할 수 있다. )


위의 과정을 다 맞췄다면 프로젝트에 포함된 packages.config파일을 열어 보도록 하자 아마 아래와 같을 것이다.

 <?xml version="1.0" encoding="utf-8"?>

<packages>

  <package id="EntityFramework" version="4.2.0.0" />

  <package id="jQuery" version="1.5.1" />

  <package id="jQuery.UI.Combined" version="1.8.11" />

  <package id="jQuery.Validation" version="1.8.0" />

  <package id="jQuery.vsdoc" version="1.5.1" />

  <package id="Modernizr" version="1.7" />

  <package id="NUnit" version="2.5.10.11092" />

</packages>


업데이트한 EntityFrmaeowkr가 4.2로 변경되었으며, 새로추가한 NUnit항목이 config에 적용되었음을 확인할 수 있을것이다.

nuget은 이 packages.config를 통해 추가/변경/삭제를 수행한다.



출처 : http://blog.naver.com/xenon752?Redirect=Log&logNo=70129926591

[출처] Nuget이란?|작성자 아크산나

관련글 더보기