Untuk tanya jawab umum yang berkaitan dengan NuGet.org, seperti pertanyaan akun NuGet.org, lihat pertanyaan yang sering diajukan NuGet.org.
Semua informasi di sekitar UI dan alat baris perintah tersedia di panduan Instal.
Alat baris perintah, nuget.exe
, membangun dan berjalan biasanya di bawah Windows. NuGet dapat berjalan pada sistem operasi Unix menggunakan mono
, tetapi tidak secara resmi didukung oleh Kebijakan Dukungan NuGet.
Mono telah mentransfer kepemilikan ke Wine dan tidak lagi dikelola oleh Microsoft.
Bagaimana cara menentukan apa yang dikandung paket dan apakah paket tersebut stabil dan berguna untuk aplikasi saya?
Sumber utama untuk mempelajari tentang paket adalah halaman daftarnya di nuget.org (atau umpan privat lainnya). Setiap halaman paket di nuget.org menyertakan deskripsi paket, riwayat versinya, dan statistik penggunaan. Bagian Info pada halaman paket juga berisi tautan ke situs web proyek tempat Anda biasanya menemukan banyak contoh dan dokumentasi lainnya untuk membantu Anda mempelajari cara paket digunakan.
Untuk informasi selengkapnya, lihat Menemukan dan memilih paket.
- Visual Studio di Windows mendukung UI Pengelola Paket dan Konsol Manajer Paket.
- Visual Studio untuk Mac memiliki kemampuan NuGet bawaan seperti yang dijelaskan tentang Menyertakan paket NuGet dalam proyek Anda.
- Visual Studio Code (semua platform) tidak memiliki integrasi NuGet langsung. Gunakan NuGet CLI atau dotnet CLI.
- Azure DevOps menyediakan langkah build untuk memulihkan paket NuGet. Anda juga dapat menghosting umpan paket NuGet privat di Azure DevOps.
Di Visual Studio, gunakan perintah Bantuan > Tentang Microsoft Visual Studio dan lihat versi yang ditampilkan di samping Pengelola Paket NuGet.
Atau, luncurkan Package Manager Console (Tools > NuGet Package Manager > Package Manager Console) dan masukkan $host
untuk melihat informasi tentang NuGet termasuk versi.
NuGet umumnya berfungsi untuk bahasa .NET dan dirancang untuk membawa pustaka .NET ke dalam proyek. Karena juga mendukung otomatisasi MSBuild dan Visual Studio di beberapa jenis proyek, ini juga mendukung proyek dan bahasa lain ke berbagai derajat.
Versi terbaru NuGet mendukung C#, Visual Basic, F#, WiX, C++, dan Q#.
NuGet memiliki dukungan penuh untuk berbagai templat proyek seperti Windows, Web, Cloud, SharePoint, Wix, dan sebagainya.
Buka tab Pembaruan di antarmuka pengguna Manajer Paket dan pilih Perbarui Semua, atau gunakan Update-Package
perintah dari Konsol Manajer Paket.
Untuk memperbarui templat itu sendiri, Anda perlu memperbarui repositori templat secara manual. Lihat blog Xavier Decoster tentang subjek ini. Perhatikan bahwa ini dilakukan dengan risiko Anda sendiri, karena pembaruan manual mungkin merusak templat jika versi terbaru dari semua dependensi tidak kompatibel satu sama lain.
Ya, NuGet bekerja langsung dari baris perintah. Lihat Panduan penginstalan dan referensi CLI.
Lihat Panduan penginstalan. Untuk memeriksa versi alat yang diinstal saat ini, gunakan nuget help
.
Anda diizinkan untuk mendistribusikan ulang nuget.exe berdasarkan ketentuan lisensi MIT. Anda bertanggung jawab untuk memperbarui dan melayani salinan nuget.exe apa pun yang Anda pilih untuk didistribusikan ulang.
Ya, Anda dapat menambahkan perintah kustom ke nuget.exe
, seperti yang dijelaskan dalam posting Rob Reynold yang tersedia melalui Archive.org.
Objek tingkat atas dalam model objek otomatisasi Visual Studio disebut objek DTE (Lingkungan Alat Pengembangan). Konsol menyediakan ini melalui variabel bernama $DTE
. Untuk informasi selengkapnya, lihat Gambaran Umum Model Otomatisasi dalam dokumentasi Ekstensibilitas Visual Studio.
Saya mencoba untuk mentransmisikan variabel $DTE ke jenis DTE2, tetapi saya mendapatkan kesalahan: Tidak dapat mengonversi nilai "EnvDTE.DTEClass" jenis "EnvDTE.DTEClass" untuk mengetik "EnvDTE80.DTE2". Apa yang salah?
Ini adalah masalah yang diketahui tentang bagaimana PowerShell berinteraksi dengan objek COM. Cobalah langkah-langkah berikut:
`$dte2 = Get-Interface $dte ([EnvDTE80.DTE2])`
Get-Interface
adalah fungsi pembantu yang ditambahkan oleh host NuGet PowerShell.
Saya memiliki beberapa versi pustaka saya yang menargetkan versi .NET Framework yang berbeda. Bagaimana cara membuat satu paket yang mendukung ini?
Lihat Mendukung Beberapa Versi dan Profil .NET Framework.
Lihat Gambaran umum paket Hosting.
Lihat Menerbitkan paket NuGet secara massal (jeffhandly.com).
Ya, lihat posting blog Scott Hanselman Cara mengakses NuGet saat nuget.org tidak berfungsi (atau Anda berada di pesawat) (hanselman.com).
Atur repositoryPath
pengaturan dalam Nuget.Config
menggunakan nuget config -set repositoryPath=<path>
.
Atur masuk disableSourceControlIntegration
Nuget.Config
ke true
. Kunci ini berfungsi di tingkat solusi dan karenanya perlu ditambahkan ke $(Solutiondir)\.nuget\Nuget.Config
file. Mengaktifkan pemulihan paket dari Visual Studio membuat file ini secara otomatis.
Lihat Mengaktifkan dan menonaktifkan pemulihan paket.
Mengapa saya mendapatkan "Tidak dapat mengatasi kesalahan dependensi" saat menginstal paket lokal dengan dependensi jarak jauh?
Anda perlu memilih Semua sumber saat menginstal paket lokal ke dalam proyek. Ini mengagregasi semua umpan alih-alih hanya menggunakan satu. Alasan kesalahan ini muncul adalah bahwa pengguna repositori lokal sering ingin menghindari pemasangan paket jarak jauh secara tidak sengaja karena polisi perusahaan.
Saya memiliki beberapa proyek di folder yang sama, bagaimana cara menggunakan file packages.config terpisah untuk setiap proyek?
Di sebagian besar proyek tempat proyek terpisah tinggal di folder terpisah, ini bukan masalah karena NuGet mengidentifikasi packages.config
file di setiap proyek. Dengan NuGet 3.3+ dan beberapa proyek di folder yang sama, Anda dapat menyisipkan nama proyek ke dalam packages.config
nama file menggunakan pola packages.{project-name}.config
, dan NuGet menggunakan file tersebut.
Ini bukan masalah saat menggunakan PackageReference, karena setiap file proyek berisi daftar dependensinya sendiri.
- Tambahkan
https://api.nuget.org/v3/index.json
ke daftar sumber Anda, atau - Hapus
%appdata%\.nuget\NuGet.Config
(Windows) atau~/.nuget/NuGet/NuGet.Config
(Mac/Linux) dan biarkan NuGet membuatnya kembali.
Saya bermigrasi ke PackageReference, mengapa build saya gagal 'Proyek ini mereferensikan paket NuGet yang hilang di komputer ini.'?
Dalam proyek packages.config, ketika paket dengan build
alat peraga atau target diinstal, NuGet akan menambahkan EnsureNuGetPackageBuildImports
target untuk memverifikasi bahwa paket konten msbuild telah diimpor sebelum membangun.
target
Jika telah dimodifikasi secara manual, NuGet mungkin tidak dapat mendeteksi bahwa nuget perlu dihapus saat bermigrasi.
Jika proyek Anda dan PackageReference
Anda masih memiliki target ini dalam file proyek, seharusnya aman untuk dihapus.