Baca dalam bahasa Inggris

Bagikan melalui


Catatan Rilis NuGet 2.6

Catatan Rilis | NuGet 2.5 NuGet 2.6.1 untuk Catatan Rilis WebMatrix

NuGet 2.6 dirilis pada 26 Juni 2013.

Fitur penting dalam rilis

Dukungan untuk Visual Studio 2013

NuGet 2.6 adalah rilis pertama yang menyediakan dukungan untuk Visual Studio 2013. Dan seperti Visual Studio 2012, ekstensi NuGet Package Manager disertakan dalam setiap edisi Visual Studio.

Untuk memberikan dukungan terbaik untuk Visual Studio 2013 sambil tetap mendukung Visual Studio 2010 dan Visual Studio 2012, dan menjaga ukuran ekstensi sesecil mungkin, kami memproduksi ekstensi terpisah untuk Visual Studio 2013 sementara ekstensi asli terus menargetkan Visual Studio 2010 dan 2012.

Dimulai dengan NuGet 2.6, kami akan menerbitkan dua ekstensi seperti di bawah ini:

  1. NuGet Package Manager (berlaku untuk Visual Studio 2010 dan 2012)
  2. Pengelola Paket NuGet untuk Visual Studio 2013

Dengan pemisahan ini, tombol "Instal NuGet" halaman beranda nuget.org membawa Anda ke halaman menginstal NuGet , di mana Anda dapat menemukan informasi selengkapnya tentang menginstal klien NuGet yang berbeda.

Dukungan transformasi XDT Web.config

Salah satu fitur yang paling diminta untuk klien NuGet adalah mendukung transformasi XML yang lebih kuat menggunakan mesin transformasi XDT yang digunakan dalam transformasi konfigurasi build Visual Studio.

Pada bulan April 2013, kami membuat dua pengumuman besar mengenai dukungan NuGet untuk XDT. Yang pertama adalah bahwa pustaka XDT itu sendiri dirilis sebagai paket NuGet dan [open sourced on CodePlex](http://xdt.codeplex.com/). Langkah ini memungkinkan mesin XDT digunakan secara bebas oleh perangkat lunak sumber terbuka lainnya, termasuk klien NuGet. Pengumuman kedua adalah rencana untuk mendukung penggunaan mesin XDT untuk transformasi di klien NuGet. NuGet 2.6 mencakup integrasi ini.

Cara kerjanya

Untuk memanfaatkan dukungan XDT NuGet, mekanismenya terlihat mirip dengan fitur transformasi konfigurasi saat ini. File transformasi ditambahkan ke folder konten paket. Namun, sementara transformasi konfigurasi menggunakan satu file untuk penginstalan dan penghapusan instalasi, transformasi XDT memungkinkan kontrol halus atas kedua proses ini menggunakan file berikut:

  • Web.config.install.xdt
  • Web.config.uninstall.xdt

Selain itu, NuGet menggunakan akhiran file untuk menentukan mesin mana yang akan dijalankan untuk transformasi, sehingga paket yang menggunakan web.config.transforms yang ada akan terus berfungsi. Transformasi XDT juga dapat diterapkan ke file XML apa pun (bukan hanya web.config), sehingga Anda dapat memanfaatkan ini untuk aplikasi lain dalam proyek Anda.

Apa yang dapat Anda lakukan dengan XDT

Salah satu kekuatan terbesar XDT adalah sintaksisnya yang sederhana tetapi kuat untuk memanipulasi struktur XML DOM. Daripada hanya melapisi satu struktur dokumen tetap ke struktur lain, XDT menyediakan kontrol untuk elemen yang cocok dengan berbagai cara, mulai dari pencocokan nama atribut sederhana hingga dukungan XPath penuh. Setelah elemen atau set elemen yang cocok ditemukan, XDT menyediakan serangkaian fungsi yang kaya untuk memanipulasi elemen, apakah itu berarti menambahkan, memperbarui, atau menghapus atribut, menempatkan elemen baru di lokasi tertentu, atau mengganti atau menghapus seluruh elemen dan anak-anaknya.

Konfigurasi Seluruh Mesin

Salah satu kekuatan besar NuGet adalah bahwa ia memecah executable atau library besar yang lain menjadi satu set komponen modular yang dapat diintegrasikan, dan yang paling penting dipertahankan dan di-versi secara independen. Salah satu efek samping dari ini, bagaimanapun, adalah bahwa ide konvensional dari produk atau keluarga produk menjadi berpotensi lebih terfragmentasi. Fitur sumber paket kustom NuGet menyediakan salah satu cara mengatur paket; namun, sumber paket kustom tidak dapat ditemukan sendiri.

NuGet 2.6 memperluas logika untuk mengonfigurasi NuGet dengan mencari hierarki folder di bawah jalur %ProgramData%/NuGet/Config. Penginstal produk dapat menambahkan file konfigurasi NuGet kustom di bawah folder ini untuk mendaftarkan sumber paket kustom untuk produk mereka. Selain itu, struktur folder mendukung semantik untuk produk, versi, dan bahkan SKU IDE. Pengaturan dari direktori ini diterapkan dalam urutan berikut dengan strategi prioritas "last in wins".

  1. %ProgramData%\NuGet\Config*.config
  2. %ProgramData%\NuGet\Config{IDE}*.config
  3. %ProgramData%\NuGet\Config{IDE}{Version}*.config
  4. %ProgramData%\NuGet\Config{IDE}{Version}{SKU}*.config

Dalam daftar ini, tempat penampung {IDE} khusus untuk IDE tempat NuGet berjalan, jadi dalam kasus Visual Studio, itu akan menjadi "VisualStudio". Tempat penampung {Version} dan {SKU} disediakan oleh IDE (misalnya "11.0" dan "WDExpress", "VWDExpress" dan "Pro", masing-masing). Folder kemudian dapat berisi banyak file *.config yang berbeda. Oleh karena itu, perusahaan komponen ACME dapat, sebagai bagian dari penginstal produk mereka, menambahkan sumber paket kustom yang hanya akan terlihat di versi Profesional dan Utama Visual Studio 2012 dengan membuat jalur file berikut:

%ProgramData%\NuGet\Config\VisualStudio\11.0\Pro\acme.config

Meskipun struktur folder membuatnya mudah bagi program seperti penginstal perangkat lunak untuk menambahkan sumber paket di seluruh komputer ke konfigurasi NuGet, dialog konfigurasi NuGet juga telah diperbarui untuk memungkinkan pendaftaran sumber paket sebagai khusus pengguna (misalnya terdaftar di %AppData%/NuGet/NuGet.Config) atau di seluruh komputer.

Fitur ini digunakan oleh Visual Studio 2013, tempat file diinstal di:

%ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config

Dalam file ini, sumber paket baru yang disebut ".NET Framework Packages" dikonfigurasi.

NuGet Config File machine wide settings

Karena jumlah paket yang dilayani oleh galeri NuGet terus bertambah dengan kecepatan eksponensial, meningkatkan pencarian tetap berada di bagian atas daftar prioritas NuGet. Salah satu fitur yang direncanakan untuk NuGet adalah pencarian kontekstual, yang berarti bahwa NuGet akan menggunakan informasi tentang versi dan SKU Visual Studio yang Anda gunakan dan jenis proyek yang Anda bangun sebagai kriteria untuk menentukan relevansi hasil pencarian potensial.

Dimulai dengan NuGet 2.6, setiap kali paket diinstal, konteks untuk penginstalan dicatat sebagai bagian dari data operasi penginstalan. Pencarian juga mengirim informasi konteks yang sama, yang akan memungkinkan Galeri NuGet untuk meningkatkan hasil pencarian berdasarkan tren penginstalan kontekstual. Pembaruan mendatang ke Galeri NuGet akan mengaktifkan peningkatan relevansi peka konteks ini.

Melacak Penginstalan Langsung vs. Penginstalan Dependensi

Penulis paket mengandalkan semakin banyak pada Statistik Paket yang disediakan di Galeri NuGet. Salah satu titik data yang hilang signifikan yang diminta penulis adalah diferensiasi antara penginstalan paket langsung dan penginstalan dependensi. Hingga saat ini, klien NuGet tidak mengirim konteks apa pun sekeliling operasi penginstalan untuk apakah pengembang langsung menginstal paket atau jika diinstal untuk memenuhi dependensi. Dimulai dengan NuGet 2.6, data tersebut sekarang akan dikirim untuk operasi penginstalan. Statistik Paket pada Galeri NuGet akan mengekspos data tersebut sebagai operasi penginstalan terpisah, dengan akhiran "-Dependensi".

  • Instal
  • Install-Dependency
  • Pembaruan
  • Pembaruan-Dependensi
  • Menginstal ulang
  • Instal ulang-Dependensi

Selain nama operasi yang berbeda, id paket dependen juga dicatat untuk penginstalan. Pembaruan di masa mendatang untuk Galeri NuGet akan mengekspos data tersebut dalam laporan, memungkinkan penulis paket untuk sepenuhnya memahami bagaimana pengembang menginstal paket mereka.

Perbaikan Bug

NuGet 2.6 juga mencakup beberapa perbaikan bug. Untuk daftar lengkap item kerja yang diperbaiki di NuGet 2.6, silakan lihat [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).