NuGet sık sorulan sorular

NuGet. org hesabı soruları gibi NuGet. org ile ilgili sık sorulan sorular için, bkz. NuGet. org sık sorulan sorular.

Genel

NuGet çalıştırmak için ne gerekir?

Hem Kullanıcı arabirimi hem de komut satırı araçlarının etrafındaki tüm bilgiler, Install kılavuzundabulunabilir.

NuGet Mono destekliyor mu?

Komut satırı aracı, nuget.exe mono 3.2 + altında oluşturulup çalışır ve mono içinde paketler oluşturabilir.

nuget.exetamamen Windows çalışsa da, Linux ve OS X üzerinde bilinen sorunlar vardır. GitHub nuget.exe bakın.

Bir grafik istemci , MonoDevelop için bir eklenti olarak kullanılabilir.

Bir paketin neleri içerdiğini ve uygulamamın kararlı olduğunu ve yararlı olup olmadığını nasıl belirleyebilirim?

Bir paket hakkında öğrenme birincil kaynağı, nuget.org (veya başka bir özel akıştaki) listeleme sayfasıdır. Nuget.org üzerindeki her paket sayfasında paketin açıklaması, sürüm geçmişi ve kullanım istatistikleri bulunur. Paket sayfasındaki bilgi bölümü Ayrıca, paketin nasıl kullanıldığını öğrenmenize yardımcı olmak için genellikle birçok örnek ve diğer belgeleri bulabileceğiniz projenin Web sitesine bir bağlantı içerir.

Daha fazla bilgi için bkz. paketleri bulma ve seçme.

Visual Studio NuGet

farklı Visual Studio ürünlerinde nasıl NuGet desteklenir?

Nasıl yaparım? yüklü NuGet araçların tam sürümü kontrol edilsin mi?

Visual Studio ' de, Microsoft Visual Studio hakkında yardım komutunu kullanın ve NuGet Paket Yöneticisi' nin yanında görüntülenecek 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 $host sürümü içeren NuGet ilgili bilgileri görmek için girin.

Hangi programlama dilleri NuGet tarafından destekleniyor?

NuGet genellikle .net dilleri için geçerlidir ve .net kitaplıklarını bir projeye getirmek için tasarlanmıştır. ayrıca, bazı proje türlerinde MSBuild ve Visual Studio otomasyonu desteklediğinden, diğer projeleri ve dilleri de çeşitli derecelerde destekler.

NuGet en son sürümü C#, Visual Basic, F #, wix ve C++ destekler.

NuGet tarafından desteklenen proje şablonları nelerdir?

NuGet, Windows, Web, bulut, SharePoint, wix gibi çeşitli proje şablonları için tam desteğe sahiptir.

Visual Studio şablonlarının parçası olan paketleri güncelleştirme Nasıl yaparım??

Paket Yöneticisi kullanıcı arabirimindeki güncelleştirmeler sekmesine gidin ve tümünü güncelleştir' i seçin ya da Paket Yöneticisi konsolundan komutunu kullanın.

Şablonun kendisini güncelleştirmek için şablon deposunu el ile güncelleştirmeniz gerekir. Bu konudaki Xavier Ayrışıcı 'nın bloguna bakın. Tüm bağımlılıkların en son sürümü birbirleriyle uyumlu değilse, el ile yapılan güncelleştirmeler şablonu bozabileceğinden bunun sizin sorumluluğunuzdadır.

NuGet Visual Studio dışında kullanabilir miyim?

evet, NuGet doğrudan komut satırından işe yarar. Bkz. Install Guide ve CLI başvurusu.

komut satırı NuGet

Nasıl yaparım? NuGet komut satırı aracının en son sürümü mi alınır?

Bkz. Install Guide. Aracın geçerli yüklü sürümünü denetlemek için kullanın nuget help .

nuget.exe için lisans nedir?

nuget.exe, MıT lisansı koşullarına göre yeniden dağıtmanıza izin verilir. Yeniden dağıtmak için seçtiğiniz nuget.exe kopyalarının güncelleştirilmesi ve bakımı konusunda siz sorumlusunuz.

NuGet komut satırı aracını genişletmek mümkün mü?

Evet, nuget.exenuget.exebölümünde açıklandığı gibi öğesine özel komutlar eklemek mümkündür.

Paket Yöneticisi konsolu NuGet (Windows üzerinde Visual Studio)

Paket Yöneticisi konsolundaki DTE nesnesine erişim Nasıl yaparım? mi?

Visual Studio automation nesne modelindeki en üst düzey nesneye DTE (geliştirme araçları ortamı) nesnesi denir. Konsol bunu adlı bir değişken aracılığıyla sağlar $DTE . 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ışırsam, ancak hata alıyorum: "EnvDTE. DTEClass" türündeki "EnvDTE. DTEClass" değeri "EnvDTE80. DTE2" türüne dönüştürülemez. Ne oldu?

Bu, PowerShell 'in bir COM nesnesiyle etkileşime girdiği bilinen bir sorundur. Aşağıdaki işlemi deneyin:

`$dte2 = Get-Interface $dte ([EnvDTE80.DTE2])`

Get-Interface, NuGet PowerShell ana bilgisayarı tarafından eklenen bir yardımcı işlevdir.

Paket oluşturma ve yayımlama

Nasıl yaparım? bir akışta paketmi Listele?

.NET Framework farklı sürümlerini hedefleyen kitaplığımın birden çok sürümü var. Bunu destekleyen tek bir paket mi Nasıl yaparım??

Kendi deponuzu mi yoksa akışımı mı ayarlamak Nasıl yaparım??

paketleri NuGet akışlarıma toplu olarak nasıl yükleyebilirim?

bkz. toplu yayımlama NuGet paketleri (jeffhandly.com).

Paketlerle çalışma

ınternet bağlantısı olmadan NuGet paketlerini yüklemek mümkün mü?

evet, bkz. Scott hanselman 'ın Blog gönderisi NuGet, nuget.org kapalıysa (veya bir düzlemde olduğunuzda) (hanselman.com).

Paketler, varsayılan paketler klasöründen farklı bir konuma yüklensin mi Nasıl yaparım??

' Da repositoryPath ayarını Nuget.Config kullanarak ayarlayın nuget config -set repositoryPath=<path> .

Nasıl yaparım? NuGet packages klasörünü kaynak denetimine eklemektan kaçının mi?

' İ disableSourceControlIntegration ' olarak ayarlayın Nuget.Configtrue . Bu anahtar çözüm düzeyinde çalışarak, bu nedenle dosyaya eklenmesi gerekir $(Solutiondir)\.nuget\Nuget.Config . Visual Studio paket geri yükleme etkinleştirildiğinde bu dosya otomatik olarak oluşturulur.

Paket geri yükleme Nasıl yaparım? kapatılsın mı?

Uzak bağımlılıklara sahip yerel bir paket yüklerken neden "bağımlılık hatası çözümlenemiyor" ifadesini alıyorum?

Projeye yerel bir paket yüklerken Tüm kaynağı seçmeniz gerekir. Bu, yalnızca bir tane kullanmak yerine tüm akışların toplamlarını toplar. Bu hatanın nedeni, yerel bir deponun kullanıcıları genellikle şirket ilkeleri nedeniyle yanlışlıkla uzak bir paket yüklemeyi önlemek istemesidir.

Aynı klasörde birden fazla projem var, her proje için ayrı packages.config dosyalarını nasıl kullanabilirim?

ayrı projelerin ayrı klasörlerde kullanıldığı çoğu projede, NuGet her bir projedeki dosyaları tanımladığı için bu bir sorun değildir packages.config . aynı klasörde NuGet 3.3 + ve birden çok proje ile, projenin adını packages.config dosya adlarıyla ekleyebilirsiniz packages.{project-name}.config ve NuGet bu dosyayı kullanır.

Her proje dosyası kendi bağımlılıklar listesini içerdiğinden, PackageReference kullanılırken bu bir sorun değildir.

Depolar listemdeki nuget.org görmüyorum, nasıl geri alabilirim?

  • https://api.nuget.org/v3/index.jsonKaynak listenize ekleyin veya
  • %appdata%\.nuget\NuGet.Config(Windows) veya ~/.nuget/NuGet/NuGet.Config (Mac/Linux) NuGet silin ve yeniden oluşturun.

packagereference 'a geçirdim, neden yapımda bu proje, bu bilgisayarda eksik olan NuGet pakete başvuruyor. '?

packages.config projelerinde, build props veya targets içeren bir paket yüklendiğinde NuGet EnsureNuGetPackageBuildImports derlemeden önce msbuild içeriğini içeri aktarmadığını doğrulamak için bir hedef ekler. targetel ile değiştirilmişse NuGet, geçiş sırasında kaldırılması gerektiğini algılayamayabilir.

Projeniz varsa PackageReference ve proje dosyasında bu hedefi hala varsa, kaldırmak güvenli olmalıdır.