다음을 통해 공유


NuGet 3.0 미리 보기 릴리스 정보

NuGet 2.9 RC 릴리스 정보 | NuGet 3.0 베타 릴리스 정보

NuGet 3.0 미리 보기는 Visual Studio 2015 미리 보기 릴리스의 일부로 2014년 11월 12일에 릴리스되었습니다. NuGet 3.0 미리 보기를 릴리스했습니다. 이는 미리 보기임에도 불구하고 큰 릴리스이며 변경 내용에 대한 피드백을 얻기 시작하게 되어 기쁩니다.

Visual Studio 2012+

이 NuGet 3.0 미리 보기는 Visual Studio 2015 미리 보기에 포함되어 있습니다. Visual Studio 2012 및 Visual Studio 2013에 대한 미리 보기 드롭아웃을 곧 가져오기 위해 노력하고 있습니다. 이전에 Visual Studio 2010에 대한 업데이트를 중단하겠다는 의도를 공유했으며 어려운 결정을 내렸습니다.

새로운 UI

NuGet 3.0 미리 보기에 대해 가장 먼저 알아차릴 수 있는 것은 새로운 UI입니다. 더 이상 모달 대화 상자가 아닙니다. 이제 전체 Visual Studio 문서 창이 되었습니다. 이렇게 하면 여러 프로젝트(및/또는 솔루션)에 대한 UI를 한 번에 열고, 창을 다른 모니터로 분리하고, 원하는 것처럼 도킹할 수 있습니다.

The new NuGet UI

모달 대화 상자를 중단하여 유용성 차이를 넘어 새로운 UI에도 많은 새로운 기능이 있습니다.

버전 선택

아마도 가장 요청된 UI 기능은 패키지 설치 및 업데이트에 대한 버전 선택을 허용하는 것입니다. 이제 사용할 수 있습니다.

Package Version Selection

패키지를 설치하거나 업데이트하는 경우 버전 드롭다운을 사용하면 패키지에 사용할 수 있는 모든 버전을 볼 수 있으며, 몇 가지 주목할 만한 버전은 쉽게 선택할 수 있도록 목록의 맨 위로 승격됩니다. 더 이상 PowerShell 콘솔을 사용하여 최신 버전이 아닌 특정 버전을 가져올 필요가 없습니다.

결합된 설치/온라인/업데이트 워크플로

이전 UI에는 설치됨, 온라인 및 업데이트 대한 3개의 탭이 있었습니다. 나열된 패키지는 해당 워크플로와 관련이 있으며 사용 가능한 작업도 워크플로와 관련이 있었습니다. 그것은 논리적으로 보였지만, 우리는 많은 사람들이 종종이 분리에 의해 넘어질 것이라고 들었습니다.

이제 패키지를 선택한 방법에 관계없이 패키지를 설치, 업데이트 또는 제거할 수 있는 결합된 환경이 제공됩니다. 특정 워크플로를 지원하기 위해 이제 표시되는 패키지를 필터링할 수 있는 필터 드롭다운이 있지만 패키지에 사용할 수 있는 작업은 일관됩니다.

Uninstall a Package

"설치됨" 필터를 사용하면 설치된 패키지를 쉽게 볼 수 있으며, 업데이트를 사용할 수 있는 패키지를 쉽게 확인한 다음 버전 선택을 변경하여 패키지를 제거하거나 업데이트하여 사용 가능한 작업을 변경할 수 있습니다.

Update a Package

버전 통합

동일한 패키지를 솔루션 내의 여러 프로젝트에 설치하는 것이 일반적입니다. 경우에 따라 각 프로젝트에 설치된 버전이 분리될 수 있으며 사용 중인 버전을 통합해야 합니다. NuGet 3.0 미리 보기는 이 시나리오에 대한 새로운 기능을 소개합니다.

솔루션을 마우스 오른쪽 단추로 클릭하고 솔루션용 NuGet 패키지 관리를 선택하여 솔루션 수준 패키지 관리 창에 액세스할 수 있습니다. 여기에서 여러 프로젝트에 설치되어 있지만 사용 중인 버전이 다른 패키지를 선택하면 새 "통합" 작업을 사용할 수 있습니다. 아래 Newtonsoft.Json 스크린샷에서 버전에 SamplesClassLibrary 설치되어 버전 6.0.4SamplesConsoleApp 함께 5.0.4설치되었습니다.

Consolidate Versions

단일 버전에 통합하기 위한 워크플로는 다음과 같습니다.

  1. Newtonsoft.Json 목록에서 패키지 선택
  2. 드롭다운에서 Action 선택 Consolidate
  3. 드롭다운을 Version 사용하여 통합할 버전을 선택합니다.
  4. 해당 버전에 통합해야 하는 프로젝트에 대한 확인란을 선택합니다(선택한 버전에 이미 있는 프로젝트는 회색으로 표시됨).
  5. 통합을 Consolidate 수행하려면 단추를 클릭합니다.

작업 미리 보기

수행 중인 작업(설치/업데이트/제거)에 관계없이 새 UI는 이제 프로젝트에 대한 변경 내용을 미리 볼 수 있는 방법을 제공합니다. 이 미리 보기에는 설치될 새 패키지, 업데이트될 패키지 및 제거될 패키지와 작업 중에 변경되지 않은 패키지가 표시됩니다.

아래 예제에서는 Microsoft.AspNet.SignalR을 설치하면 프로젝트가 상당히 변경되는 것을 볼 수 있습니다.

Preview Installing SignalR

설치 옵션

PowerShell 콘솔을 사용하여 몇 가지 주목할 만한 설치 옵션을 제어할 수 있었습니다. 이제 이러한 기능도 UI로 가져왔습니다. 이제 종속성 버전을 선택하는 방법에 대한 종속성 확인 동작을 제어할 수 있습니다.

Dependency Behavior

패키지의 콘텐츠 파일이 프로젝트에 이미 있는 파일과 충돌할 때 수행할 작업을 지정할 수도 있습니다.

File Conflict Action

무한 스크롤

패키지를 나열할 때 스크롤 및 페이징 패러다임이 모두 있는 UI에 대한 피드백을 꽤 많이 받았습니다. 짧은 목록의 맨 아래로 스크롤하고 다음 페이지 번호를 클릭한 다음 다시 스크롤해야 하는 것이 일반적이었습니다. 새 UI를 사용하여 패키지 목록에서 무한 스크롤을 구현했으므로 더 이상 페이징하지 않고 스크롤하기만 하면 됩니다.

Infinite Scrolling

작동하게 하고, 빠르게 만들고, 예쁘게 만드십시오.

이 새로운 UI를 사용해 볼 수 있도록 하게 되어 기쁩니다. 이 미리 보기 이정표 중에는 "제대로 작동하고, 빠르게 만들고, 예쁘게 만드십시오"라는 오래된 속담을 따라 왔습니다. 이 미리 보기에서는 첫 번째 목표의 대부분을 달성했습니다. 우리는 아직 꽤 빠르지 않다는 것을 알고 있으며, 아직 꽤 예쁘지 않다는 것을 알고 있습니다. 지금과 RC 릴리스 사이에 이러한 목표를 위해 작업할 것이라고 신뢰합니다. 그 동안 새 UI의 유용성(워크플로, 작업 및 새 UI 사용의 느낌)에 대한 피드백을 듣고 싶습니다.

이전 UI와 비교할 때 제거한 몇 가지 함수가 있습니다. 이 중 하나는 의도적이었고, 다른 하나는 시간에 완료되지 않았습니다.

"모두" 패키지 원본 검색

이전 UI를 사용하면 모든 패키지 원본에 대해 패키지 검색을 수행할 수 있습니다. UI에서 해당 기능을 제거했으며 다시 가져오지 않습니다. 이 기능은 모든 패키지 원본에 대해 검색 작업을 수행하고, 결과를 함께 짜고, 정렬 선택에 따라 결과를 정렬하는 데 사용됩니다.

우리는 검색 관련성이 함께 짜기 정말 어렵다는 것을 발견했습니다. Google과 Bing에 대해 검색을 수행하고 결과를 함께 짜는 것을 상상할 수 있습니까? 또한 이 기능은 느리고 실수로 사용하기 쉽고 실제로 유용하지는 않습니다. 이 기능이 도입된 문제 때문에 수정할 수 없었던 많은 버그 보고서를 받았습니다.

모두 업데이트

이전 UI에는 새 UI에 없는 "모두 업데이트" 단추가 있었습니다. RC 릴리스에서 이 기능을 부활시킬 예정입니다.

새 클라이언트/서버 API

새 패키지 관리 UI의 모든 새로운 기능 외에도 NuGet의 클라이언트/서버 프로토콜에 대한 몇 가지 구현 세부 정보도 작업하고 있습니다. 우리가 수행한 작업은 패키지 복원 및 패키지 설치와 같은 중요한 시나리오에 대한 고가용성을 중심으로 설계된 NuGet용 "API v3"을 만드는 것입니다. 새 API는 REST 및 Hypermedia를 기반으로 하며 JSON-LD리소스 형식으로 선택했습니다.

NuGet 3.0 미리 보기 비트에는 패키지 원본 드롭다운에 "preview.nuget.org"이라는 새 패키지 원본이 표시됩니다. 해당 패키지 원본을 선택하는 경우 새 API를 사용하여 nuget.org 연결합니다. 새 API를 계속 테스트, 수정 및 개선하는 동안 UI에서 미리 보기 원본을 사용할 수 있도록 했습니다. NuGet 3.0 RC에서 이 새로운 API v3 기반 패키지 원본은 v2 기반 "nuget.org" 패키지 원본을 대체합니다.

API v3에 투자했음에도 불구하고 이러한 모든 새로운 기능은 기존 API v2 프로토콜에서도 작동하므로 nuget.org 이외의 기존 패키지 원본에서도 작동합니다.

새로운 기능 제공

현재와 3.0 RTM 사이에는 UI에서 볼 수 있는 것 이상으로 몇 가지 기본적인 새로운 NuGet 기능도 작업 중입니다. 다음은 눈에 띄는 투자 영역의 짧은 목록입니다.

  1. Microsoft는 Visual Studio 및 MSBuild 팀과 협력하여 NuGet을 플랫폼에 더 심층화합니다.
  2. 설치 시간 패키지 규칙을 포기하고 대신 새로운 "신뢰할 수 있는" 패키지 매니페스트를 도입하여 패키징 시간에 해당 규칙을 적용하기 위해 노력하고 있습니다.
  3. Visual Studio의 패키지 관리 외에 다른 작업기본에서 클라이언트 및 서버 구성 요소를 재사용할 수 있도록 NuGet 코드베이스를 리팩터링하기 위해 노력하고 있습니다.
  4. 패키지가 구현 세부 정보에 대해서만 다른 패키지에 종속되어 있음을 나타낼 수 있고 해당 종속성을 최상위 종속성으로 표시해서는 안 되는 "프라이빗 종속성" 개념을 조사하고 있습니다.

지켜

NuGet 3.0에 대한 자세한 진행 상황 및 공지 사항은 블로그 에서 계속 확인하세요.