Düzenle

Aracılığıyla paylaş


NuGet ile ilgili sık sorulan sorular

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

Genel

NuGet'i çalıştırmak için ne gereklidir?

Hem kullanıcı arabirimi hem de komut satırı araçlarıyla ilgili tüm bilgileri Yükleme kılavuzunda bulabilirsiniz.

NuGet Mono'ya destek oluyor mu?

komut satırı aracı, nuget.exegenellikle Windows altında derlenip çalışır. NuGet, kullanarak monoUnix 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.

Visual Studio'da NuGet

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

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

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 hangi programlama dillerini destekler?

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 hangi proje şablonlarını destekler?

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 Nasıl yaparım? güncelleştirin?

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.

NuGet'i Visual Studio dışında kullanabilir miyim?

Evet, NuGet doğrudan komut satırından çalışır. Yükleme kılavuzuna ve CLI başvurusuna bakın.

NuGet komut satırı

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

Yükleme kılavuzuna bakın. Aracın yüklü geçerli sürümünü denetlemek için kullanın nuget help.

nuget.exe lisansı nedir?

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.

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

Evet, Rob Reynold'un Archive.org aracılığıyla sunulan gönderisinde açıklandığı gibi öğesine özel komutlar nuget.exeeklemek mümkündür.

NuGet Paket Yöneticisi Konsolu (Windows'da Visual Studio)

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

Visual Studio otomasyon nesne modelindeki en üst düzey nesneye DTE (Geliştirme Araçları Ortamı) nesnesi adı verilir. Konsol bunu adlı $DTEbir 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.

Paketleri oluşturma ve yayımlama

Paketimi akışta Nasıl yaparım? listeleyin?

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??

Kendi depomu veya akışımı Nasıl yaparım? ayarladım?

Bkz. Barındırma paketlerine genel bakış.

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

Bkz. NuGet paketlerini toplu yayımlama (jeffhandly.com).

Paketlerle çalışma

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

Evet, Scott Hanselman'ın Blog gönderisine bakın nuget.org indiğinde (veya uçaktayken) NuGet'e erişme (hanselman.com).

Paketleri varsayılan paketler klasöründen farklı bir konuma yüklemek Nasıl yaparım??

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

NuGet paketleri klasörünü kaynak denetimine eklemekten Nasıl yaparım? kaçının?

in Nuget.Config değerini disableSourceControlIntegration olarak trueayarlayı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.

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

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}.configkullanı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.

Depo listemde nuget.org göremiyorum, nasıl geri alabilirim?

  • 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.