NuGet 2.6 릴리스 정보
WebMatrix 릴리스 정보용 NuGet 2.5 릴리스 정보 | NuGet 2.6.1
NuGet 2.6은 2013년 6월 26일에 릴리스되었습니다.
NuGet 2.6은 Visual Studio 2013에 대한 지원을 제공하는 첫 번째 릴리스입니다. Visual Studio 2012와 마찬가지로 NuGet 패키지 관리자 확장은 Visual Studio의 모든 버전에 포함됩니다.
Visual Studio 2010 및 Visual Studio 2012를 모두 지원하고 확장 크기를 가능한 한 작게 유지하면서 Visual Studio 2013에 대한 최상의 지원을 제공하기 위해 원래 확장은 Visual Studio 2010 및 2012를 대상으로 계속하는 동안 Visual Studio 2013에 대해 별도의 확장을 생성합니다.
NuGet 2.6부터 아래와 같이 두 개의 확장을 게시합니다.
- NuGet 패키지 관리자(Visual Studio 2010 및 2012에 적용됨)
- Visual Studio 2013용 NuGet 패키지 관리자
이 분할을 사용하면 nuget.org 홈페이지의 "NuGet 설치" 단추를 사용하여 NuGet 설치 페이지로 이동합니다. 여기서 다른 NuGet 클라이언트 설치에 대한 자세한 정보를 찾을 수 있습니다.
NuGet 클라이언트에서 가장 많이 요청된 기능 중 하나는 Visual Studio 빌드 구성 변환에 사용되는 XDT 변환 엔진을 사용하여 보다 강력한 XML 변환을 지원하는 것이었습니다.
2013년 4월에는 XDT에 대한 NuGet 지원에 대해 두 가지 큰 발표를 했습니다. 첫 번째는 XDT 라이브러리 자체가 NuGet 패키지[open sourced on CodePlex](http://xdt.codeplex.com/)
로 릴리스되고 있다는 것입니다. 이 단계에서는 NuGet 클라이언트를 비롯한 다른 오픈 소스 소프트웨어에서 XDT 엔진을 자유롭게 사용할 수 있도록 했습니다. 두 번째 발표는 NuGet 클라이언트에서 변환을 위해 XDT 엔진의 사용을 지원하는 계획이었습니다. NuGet 2.6에는 이 통합이 포함됩니다.
NuGet의 XDT 지원을 활용하기 위해 메커니즘은 현재 구성 변환 기능과 유사합니다. 변환 파일은 패키지의 콘텐츠 폴더에 추가됩니다. 그러나 구성 변환은 설치 및 제거 모두에 단일 파일을 사용하지만 XDT 변환을 사용하면 다음 파일을 사용하여 이러한 두 프로세스를 세분화하여 제어할 수 있습니다.
- Web.config.install.xdt
- Web.config.uninstall.xdt
또한 NuGet은 파일 접미사를 사용하여 변환을 위해 실행할 엔진을 결정하므로 기존 web.config.transforms를 사용하는 패키지는 계속 작동합니다. XDT 변환은 web.config뿐만 아니라 모든 XML 파일에도 적용할 수 있으므로 프로젝트의 다른 애플리케이션에 이를 활용할 수 있습니다.
XDT의 가장 큰 장점 중 하나는 XML DOM의 구조를 조작하기 위한 단순하지만 강력한 구문 입니다. XDT는 단순히 하나의 고정 문서 구조를 다른 구조에 오버레이하는 대신 간단한 특성 이름 일치에서 전체 XPath 지원에 이르기까지 다양한 방법으로 요소를 일치시키는 컨트롤을 제공합니다. 일치하는 요소 또는 요소 집합이 발견되면 XDT는 특성을 추가, 업데이트 또는 제거하거나, 특정 위치에 새 요소를 배치하거나, 전체 요소와 해당 자식을 대체하거나 제거하는 등 요소를 조작하기 위한 다양한 함수 집합을 제공합니다.
NuGet의 가장 큰 장점 중 하나는 큰 실행 파일 또는 라이브러리를 통합할 수 있는 모듈식 구성 요소 집합으로 분해하고 가장 중요한 것은 독립적으로 기본 및 버전 관리된다는 것입니다. 그러나 이것의 한 가지 부작용은 제품 또는 제품 제품군의 기존 아이디어가 잠재적으로 더 단편화된다는 것입니다. NuGet의 사용자 지정 패키지 원본 기능은 패키지를 구성하는 한 가지 방법을 제공합니다. 그러나 사용자 지정 패키지 원본은 자체에서 검색할 수 없습니다.
NuGet 2.6은 %ProgramData%/NuGet/Config 경로 아래의 폴더 계층 구조를 검색하여 NuGet을 구성하는 논리를 확장합니다. 제품 설치 관리자는 이 폴더 아래에 사용자 지정 NuGet 구성 파일을 추가하여 제품에 대한 사용자 지정 패키지 원본을 등록할 수 있습니다. 또한 폴더 구조는 IDE의 제품, 버전 및 SKU에 대한 의미 체계를 지원합니다. 이러한 디렉터리의 설정 "마지막 우선 순위" 우선 순위 전략과 함께 다음 순서로 적용됩니다.
- %ProgramData%\NuGet\Config*.config
- %ProgramData%\NuGet\Config{IDE}*.config
- %ProgramData%\NuGet\Config{IDE}{Version}*.config
- %ProgramData%\NuGet\Config{IDE}{Version}{SKU}*.config
이 목록에서 {IDE} 자리 표시자는 NuGet이 실행되는 IDE와 관련이 있으므로 Visual Studio의 경우 "VisualStudio"가 됩니다. {Version} 및 {SKU} 자리 표시자는 IDE(예: "11.0" 및 "WDExpress", "VWDExpress" 및 "Pro")에서 제공됩니다. 그런 다음 폴더에는 다양한 *.config 파일이 포함될 수 있습니다. 따라서 ACME 구성 요소 회사는 제품 설치 관리자의 일부로 다음 파일 경로를 만들어 Professional 및 Ultimate 버전의 Visual Studio 2012에서만 볼 수 있는 사용자 지정 패키지 원본을 추가할 수 있습니다.
%ProgramData%\NuGet\Config\VisualStudio\11.0\Pro\acme.config
폴더 구조를 사용하면 소프트웨어 설치 관리자와 같은 프로그램이 NuGet의 구성에 머신 전체 패키지 원본을 추가하는 것이 간단하지만, 사용자별(예: %AppData%/NuGet/NuGet.Config에 등록됨) 또는 컴퓨터 전체로 패키지 원본을 등록할 수 있도록 NuGet 구성 대화 상자도 업데이트되었습니다.
이 기능은 파일이 설치된 Visual Studio 2013에서 활용됩니다.
%ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config
이 파일 내에서 ".NET Framework 패키지"라는 새 패키지 원본이 구성됩니다.
NuGet 갤러리에서 제공하는 패키지 수가 계속해서 기하급수적으로 증가함에 따라 NuGet 우선 순위 목록의 맨 위에 검색 다시 기본 향상됩니다. NuGet에 대해 계획된 기능 중 하나는 컨텍스트 검색입니다. 즉, NuGet은 사용 중인 Visual Studio의 버전 및 SKU에 대한 정보와 잠재적 검색 결과의 관련성을 결정하기 위한 조건으로 빌드하는 프로젝트 형식을 사용합니다.
NuGet 2.6부터 패키지가 설치될 때마다 설치 컨텍스트가 설치 작업 데이터의 일부로 기록됩니다. 또한 검색은 동일한 컨텍스트 정보를 전송하므로 NuGet 갤러리가 상황별 설치 추세에 따라 검색 결과를 높일 수 있습니다. NuGet 갤러리에 대한 향후 업데이트를 통해 상황에 맞는 관련성을 높일 수 있습니다.
패키지 작성자는 NuGet 갤러리에 제공된 패키지 통계에 점점 더 많이 의존하고 있습니다 . 작성자가 요청한 중요한 데이터 요소 중 하나는 직접 패키지 설치와 종속성 설치를 구별하는 것입니다. 지금까지 NuGet 클라이언트는 개발자가 패키지를 직접 설치했는지 또는 종속성을 충족하기 위해 설치되었는지 여부에 대한 설치 작업과 관련된 컨텍스트를 보내지 않았습니다. NuGet 2.6부터는 이제 설치 작업을 위해 해당 데이터가 전송됩니다. NuGet 갤러리의 패키지 통계는 "종속성" 접미사를 사용하여 해당 데이터를 별도의 설치 작업으로 노출합니다.
- 설치
- Install-Dependency
- 엽데이트
- 업데이트 종속성
- Reinstall
- 종속성 다시 설치
다른 작업 이름 외에도 설치에 대한 종속 패키지 ID도 기록됩니다. NuGet 갤러리에 대한 향후 업데이트는 보고서 내에서 해당 데이터를 노출하므로 패키지 작성자는 개발자가 패키지를 설치하는 방법을 완전히 이해할 수 있습니다.
NuGet 2.6에는 몇 가지 버그 수정도 포함되어 있습니다. NuGet 2.6에서 수정된 작업 항목의 전체 목록은 다음을 [NuGet Issue Tracker for this release](https://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%202.6&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0&reasonClosed=All)
참조하세요.