NuGet : 오픈소스 관리


개요

  • 내 사이트/프로젝트에 특정 오픈소스를 쉽게 관리할 수 있음.
  • http://nuget.codeplex.com
  • http://nuget.org
  • 설치 : 확장관리자에서 Nuget Package Manager 설치
  • Visual Studio > 도구 > Libarary Package Manager > Package Manager Console
  • Visual Studio > 보기 > 다른창 > Package Manager Console
Manage NuGet Package 1
Manage NuGet Package 2

명령어

PM> help package : package 관련된 도움말
PM> Get-Package : 현재 프로젝트에서 설치된 Package 목록
PM> Get-Package -remote : 원격의 모든 패키지 목록을 받아옴
PM> Get-Package elmah -remote : elmah 관련 패키지 목록을 받아옴
PM> Install-Package elmah : elmah 패키지를 현재 프로젝트에 추가하고 설정까지 잡힘.
PM> Install-Package e + 탭 : e로 시작하는 목록이 나옴
PM> cls : 화면 삭제
PM> Uninstall-Package xxx : 현재 프로젝트에서 xxx를 삭제함
PM> Uninstall-Package xxx -RemoveDependencies : 현재 프로젝트에서 xxx와 의존성이 있는 놈들까지 삭제함

NuGet Package 예제 - elmah (엘마)

NuGet Package

  • 압축파일(nupkg는 zip으로 압축됨) : Metadata(의존성, URL, 버전), 어셈블리, 기타(스크립트, 이미지, 코드)
  • 회사 공통 코드/패턴 만들때 사용 : http://nuget.회사이름.com/ 식으로 접근
  • 설치후 탐색기로 살펴보면.. packages 폴더 생성되고, 설정파일, dll 등이 존재함
  • package간의 의존성이 있을 수 있으며, 없는것까지 같이 설치됨

NuGet Package의 초기구동

  • 웹 응용 프로그램은 WebActivator에 의존적
  • WebActivator.PreApplicationStartMethod()에 특정코드를 미리 실행
  • App_Start 폴더에 cs파일로 등록됨 (예를 들면.. ~/App_Start/NinjectMVC3.cs)

NuGet Package 만들기

  • 새프로젝트(KimstarLibrary) 추가 > 클래스라이브러리 > 클래스 생성 > 빌드하면 dll 생성됨
  • http://docs.nuget.org/docs/reference/nuspec-reference 참고하여 KimstarLibrary.nuspec 파일을 만들어서 프로젝트에 추가
    KimstarLibarary
    1.0.0
    Kim Star
    Kimstar Libaray
  • Package Manager Console에서 Default Project를 KimstarLibrary로 설정하고 패키지 생성
    PM> New-Package
  • 생성된 nupkg 파일을 특정 폴더에 넣고, Package Manager Setting 아이콘 눌러서 package source를 추가 (폴더 위치)
  • Package Manager Console의 Package Source에 방금 생성한 소스가 추가됨..

광고

댓글 남기기