NuGet.org hesabıyla ilgili sorular gibi NuGet.org ile ilgili sık sorulan sorular için bkz . sık sorulan sorular NuGet.org.
Hem kullanıcı arabirimi hem de komut satırı araçlarıyla ilgili tüm bilgileri Yükleme kılavuzunda bulabilirsiniz.
komut satırı aracı, nuget.exe
genellikle Windows altında derlenip çalışır. NuGet, kullanarak mono
Unix işletim sistemlerinde çalışabilir, ancak NuGet'in Destek İlkesi tarafından resmi olarak desteklenmez.
Mono, sahipliği Wine'a devretti ve artık Microsoft tarafından korunmadı.
Bir paketin ne içerdiğini ve uygulamam için kararlı ve yararlı olup olmadığını nasıl belirleyebilirim?
Paket hakkında bilgi edinmek için birincil kaynak, nuget.org (veya başka bir özel akış) üzerindeki listeleme sayfasıdır. nuget.org üzerindeki her paket sayfası paketin açıklamasını, sürüm geçmişini ve kullanım istatistiklerini içerir. Paket sayfasındaki Bilgi bölümünde, paketin nasıl kullanıldığını öğrenmenize yardımcı olmak için genellikle birçok örnek ve başka belge bulabileceğiniz projenin web sitesinin bağlantısı da bulunur.
Daha fazla bilgi için bkz . Paketleri bulma ve seçme.
- Windows üzerinde Visual Studio, Paket Yöneticisi kullanıcı arabirimini ve Paket Yöneticisi Konsolunu destekler.
- Mac için Visual Studio'da açıklandığı gibi yerleşik NuGet özellikleri vardırProjenize bir NuGet paketi ekleme.
- Visual Studio Code 'un (tüm platformlar) doğrudan NuGet tümleştirmesi yoktur. NuGet CLI veya dotnet CLI kullanın.
- Azure DevOps, NuGet paketlerini geri yüklemek için bir derleme adımı sağlar. Azure DevOps'ta özel NuGet paket akışlarını da barındırabilirsiniz.
Visual Studio'da Microsoft Visual Studio Hakkında Yardım > komutunu kullanın ve NuGet Paket Yöneticisi yanında görüntülenen sürüme bakın.
Alternatif olarak, Paket Yöneticisi Konsolunu (Araçlar > NuGet Paket Yöneticisi Paket Yöneticisi > Konsolu) başlatın ve NuGet hakkında sürüm dahil bilgileri görmek için girin$host
.
NuGet genellikle .NET dilleri için çalışır ve .NET kitaplıklarını bir projeye getirmek için tasarlanmıştır. Bazı proje türlerinde MSBuild ve Visual Studio otomasyonlarını da desteklediği için, çeşitli derecelerde diğer projeleri ve dilleri de destekler.
NuGet'in en son sürümü C#, Visual Basic, F#, WiX, C++ ve Q# sürümlerini destekler.
NuGet, Windows, Web, Bulut, SharePoint, Wix gibi çeşitli proje şablonları için tam desteğe sahiptir.
Paket Yöneticisi kullanıcı arabiriminde Güncelleştirmeler sekmesine gidin ve Tümünü Güncelleştir'i seçin veya Paket Yöneticisi Konsolu'ndaki komutu kullanınUpdate-Package
.
Şablonun kendisini güncelleştirmek için şablon deposunu el ile güncelleştirmeniz gerekir. Bu konuda Xavier Decoster'ın bloguna bakın. El ile yapılan güncelleştirmeler, tüm bağımlılıkların en son sürümü birbiriyle uyumlu değilse şablonu bozabileceğinden, bunun kendi riski altında yapıldığını unutmayın.
MIT lisansının koşulları altında nuget.exe yeniden dağıtmanıza izin verilir. Yeniden dağıtmayı seçtiğiniz nuget.exe kopyalarını güncelleştirmek ve hizmet vermek sizin sorumluluğundadır.
Evet, Rob Reynold'un Archive.org aracılığıyla sunulan gönderisinde açıklandığı gibi öğesine özel komutlar nuget.exe
eklemek mümkündür.
Visual Studio otomasyon nesne modelindeki en üst düzey nesneye DTE (Geliştirme Araçları Ortamı) nesnesi adı verilir. Konsol bunu adlı $DTE
bir değişken aracılığıyla sağlar. Daha fazla bilgi için Visual Studio Genişletilebilirlik belgelerindeki Otomasyon Modeline Genel Bakış bölümüne bakın.
$DTE değişkenini DTE2 türüne dönüştürmeye çalışıyorum, ancak bir hata alıyorum: "EnvDTE.DTEClass" türündeki "EnvDTE.DTEClass" değeri "EnvDTE80.DTE2" türüne dönüştürülemiyor. Ne oldu?
Bu, PowerShell'in bir COM nesnesiyle nasıl etkileşime geçtiğini gösteren bilinen bir sorundur. Aşağıdaki işlemi deneyin:
`$dte2 = Get-Interface $dte ([EnvDTE80.DTE2])`
Get-Interface
NuGet PowerShell konağı tarafından eklenen bir yardımcı işlevdir.
Bkz. Paket oluşturma ve yayımlama.
Kitaplığımın .NET Framework'ün farklı sürümlerini hedefleyen birden çok sürümüm var. Bunu destekleyen tek bir paket Nasıl yaparım??
Bkz . Birden Çok .NET Framework Sürümünü ve Profilini Destekleme.
Bkz. Barındırma paketlerine genel bakış.
Bkz. NuGet paketlerini toplu yayımlama (jeffhandly.com).
Evet, Scott Hanselman'ın Blog gönderisine bakın nuget.org indiğinde (veya uçaktayken) NuGet'e erişme (hanselman.com).
repositoryPath
ayarını Nuget.Config
kullanarak nuget config -set repositoryPath=<path>
ayarlayın.
in Nuget.Config
değerini disableSourceControlIntegration
olarak true
ayarlayın. Bu anahtar çözüm düzeyinde çalışır ve bu nedenle dosyaya $(Solutiondir)\.nuget\Nuget.Config
eklenmesi gerekir. Visual Studio'dan paket geri yükleme etkinleştirildiğinde bu dosya otomatik olarak oluşturulur.
Bkz . Paket geri yüklemesini etkinleştirme ve devre dışı bırakma.
Uzak bağımlılıklara sahip bir yerel paket yüklerken neden "Bağımlılık hatası çözümlenemiyor" hatası alıyorum?
Projeye yerel bir paket yüklerken Tüm kaynak'ı seçmeniz gerekir. Bu, tek bir akış kullanmak yerine tüm akışları toplar. Bu hatanın görünmesinin nedeni, yerel bir depo kullanıcılarının genellikle şirket ilkeleri nedeniyle yanlışlıkla uzak paket yüklemekten kaçınmak istemeleridir.
Aynı klasörde birden çok projem var, her proje için ayrı packages.config dosyalarını nasıl kullanabilirim?
Ayrı projelerin ayrı klasörlerde yaşadığı çoğu projede, NuGet her projedeki dosyaları tanımladığından packages.config
bu bir sorun değildir. NuGet 3.3+ ve aynı klasördeki birden çok projeyle, dosya adlarına projenin packages.config
adını ekleyebilirsiniz, deseni packages.{project-name}.config
kullanın ve NuGet bu dosyayı kullanır.
Her proje dosyası kendi bağımlılık listesini içerdiğinden PackageReference kullanılırken bu bir sorun değildir.
- Kaynak listenize ekleyin
https://api.nuget.org/v3/index.json
veya - (Windows) veya
~/.nuget/NuGet/NuGet.Config
(Mac/Linux) öğesini silin%appdata%\.nuget\NuGet.Config
ve NuGet'in yeniden oluşturmasına izin verin.
PackageReference'a geçiş yaptım, derlemem neden 'Bu proje bu bilgisayarda eksik olan NuGet paketlerine başvurur'?
packages.config projelerinde, props veya hedefleri olan build
bir paket yüklendiğinde NuGet, msbuild paketlerinin içeriğinin derlenmeden önce içeri aktarıldığını doğrulamak için bir EnsureNuGetPackageBuildImports
hedef ekler.
target
el ile değiştirildiyse, NuGet geçiş sırasında kaldırılması gerektiğini algılayamayabilir.
Projeniz ise PackageReference
ve proje dosyasında hala bu hedefe sahipseniz, kaldırmanız güvenli olmalıdır.