Paketler yayımlanıyor
Bir paket oluşturduktan ve dosyanızı el ile oluşturduktan sonra .nupkg , bu, diğer geliştiricilerin herkese açık veya özel olarak kullanılabilmesini sağlamak için basit bir işlemdir:
- ortak paketler, bu makalede açıklandığı gibi nuget.org aracılığıyla genel olarak tüm geliştiriciler tarafından kullanılabilir hale getirilir (NuGet 4.1.0 + gerektirir).
- özel paketler, bir dosya paylaşımının, özel bir NuGet sunucunun, Azure Artifactsveya myget, proal, Nexus repository ve artifactory gibi üçüncü taraf depolardan yararlanarak yalnızca bir ekip veya kuruluş tarafından kullanılabilir. Ek ayrıntılar için bkz. barındırma paketlerine genel bakış.
Bu makalede, nuget.org ' a yayımlama ele alınmaktadır. Azure Artifacts yayımlamak için bkz. Paket Yönetimi.
Nuget.org 'e Yayımla
Nuget.org için Microsoft hesabı ile oturum açmanız gerekir, bu, hesabı nuget.org ile kaydetmeniz istenecektir.

daha sonra, nuget.org web portalı aracılığıyla paketi karşıya yükleyebilir, komut satırından nuget.org 'e gönderebilir ( nuget.exe 4.1.0 + gerektirir) veya aşağıdaki bölümlerde açıklandığı gibi Azure DevOps Services aracılığıyla bir cı/CD işleminin parçası olarak yayımlayabilirsiniz.
Web portalı: nuget.org üzerinde Upload paketi sekmesini kullanın
nuget.org üst menüsünde Upload ' yi seçin ve paket konumuna gidin.

nuget.org, paket adının kullanılabilir olup olmadığını söyler. Değilse, projenizdeki paket tanımlayıcısını değiştirin, yeniden derleyin ve karşıya yüklemeyi yeniden deneyin.
Paket adı kullanılabiliyorsa nuget.org, paket bildiriminden meta verileri gözden geçirebilmeniz için bir doğrulama bölümü açar. Paketinize bir Benioku dosyası eklediyseniz, tüm içeriğin düzgün şekilde işlenmesini sağlamak için önizlemeye göz atın. Meta verileri değiştirmek için projenizi (proje dosyası veya dosyası) düzenleyin, yeniden
.nuspecderleyin, paketi yeniden oluşturun ve tekrar yükleyin.Tüm bilgiler hazırlanıyor, Gönder düğmesini seçin
Komut satırı
Paketleri nuget.org 'e göndermek için, önce nuget.org üzerinde oluşturulan bir API anahtarına ihtiyacınız vardır. gerekli NuGet protokollerini uygulayan dotnet.exe (.net Core) veya nuget.exe v 4.1.0 ya da üstünü kullanmanız gerekir. daha fazla bilgi için bkz. .net Core, nuget.exeve NuGet protokolleri.
API anahtarları oluşturma
NuGet.org hesabınızda oturum açın veya henüz yoksa bir hesap oluşturun.
Hesabınızı oluşturma hakkında daha fazla bilgi için bkz. bireysel hesaplar.
Kullanıcı adınızı (sağ üst köşedeki) seçin ve ardından API anahtarları' nı seçin.
Oluştur' u seçin, anahtarınız için bir ad girin, kapsamları Gönder' i seçin. Glob deseninin* girin ve ardından Oluştur' u seçin. (Kapsamlar hakkında daha fazla bilgi için aşağıya bakın.)
Anahtar oluşturulduktan sonra, CLı 'de ihtiyacınız olan erişim anahtarını almak için Kopyala ' yı seçin:

Uyarı
API anahtarınızı her zaman gizli tutun! API anahtarınızı, sizin adınıza herkesin yönetmesine izin veren bir parola olarak değerlendirin. Yanlışlıkla gösterildiğinde API anahtarınızı silmeniz veya yeniden oluşturmanız gerekir.
Önemli
Anahtarı daha sonra tekrar kopyalayamadığından Anahtarınızı güvenli bir konuma kaydedin. API anahtarı sayfasına geri dönerseniz, kopyalamak için anahtarı yeniden oluşturmanız gerekir. Artık paketleri göndermek istemiyorsanız API anahtarını da kaldırabilirsiniz.
Kapsam oluşturma, farklı amaçlar için ayrı API anahtarları oluşturmanıza olanak sağlar. Her anahtarın süre sonu zaman çerçevesi vardır ve belirli paketlere (veya glob desenlerine) kapsamı atanabilir. Her anahtar Ayrıca belirli işlemlere göre kapsamlandırılır: yeni paketleri ve güncelleştirmeleri gönderme, yalnızca güncelleştirmelerin gönderimi veya listesini kaldırma. Kapsam aracılığıyla, kuruluşunuzda yalnızca ihtiyaç duydukları izinlere sahip olmaları için paketleri yöneten farklı kişiler için API anahtarları oluşturabilirsiniz. Daha fazla bilgi için bkz. KAPSAMLı API anahtarları.
DotNet NuGet Push ile yayımlama
Dosyayı içeren klasöre geçin
.nupkg.Aşağıdaki komutu çalıştırarak paket adınızı (benzersiz paket KIMLIĞI) belirtip anahtar değerini API anahtarınızla değiştirin:
dotnet nuget push AppLogger.1.0.0.nupkg --api-key qz2jga8pl3dvn2akksyquwcs9ygggg4exypy3bhxy6w6x6 --source https://api.nuget.org/v3/index.jsonDotNet yayımlama işleminin sonuçlarını görüntüler:
info : Pushing AppLogger.1.0.0.nupkg to 'https://www.nuget.org/api/v2/package'... info : PUT https://www.nuget.org/api/v2/package/ info : Created https://www.nuget.org/api/v2/package/ 12620ms info : Your package was pushed.
Bkz. DotNet NuGet Push.
NuGet Push ile yayımlama
Komut isteminde,
<your_API_key>NuGet.org adresinden elde edilen anahtarla değiştirerek aşağıdaki komutu çalıştırın:nuget setApiKey <your_API_key>bu komut, apı anahtarınızı NuGet yapılandırmanızda depolar, böylece bu adımı aynı bilgisayarda tekrar yinelemeniz gerekmez.
Not
API anahtarı özel akışta kimlik doğrulaması için kullanılmaz. Kaynak ile kimlik doğrulaması için kimlik bilgilerini yönetmek üzere komutuna bakın. apı anahtarları ayrı NuGet sunucularından elde edilebilir. Nuget.org için APIKeys oluşturmak ve sağlamak için API anahtarları oluşturmabölümüne bakın.
aşağıdaki komutu kullanarak paketinizi NuGet galerisine gönderin:
nuget push YourPackage.nupkg -Source https://api.nuget.org/v3/index.json
İmzalı paketleri yayımlama
İmzalı paketleri göndermek için, önce paketleri imzalamak üzere kullanılan sertifikayı kaydetmeniz gerekir.
Uyarı
nuget.org, İmzalı paket gereksinimlerinikarşılamayan paketleri reddeder.
Paket doğrulama ve dizin oluşturma
Paketler, virüs denetimleri gibi çeşitli doğrulamaları nuget.org 'e gönderdi. (Nuget.org üzerindeki tüm paketler düzenli aralıklarla taranır.)
Paket tüm doğrulama denetimlerini geçtiğinde, dizin oluşturulması ve arama sonuçlarında görünmesi biraz zaman alabilir. Dizin oluşturma işlemi tamamlandıktan sonra, paketin başarıyla yayımlandığını onaylayan bir e-posta alırsınız. Paket bir doğrulama denetiminden başarısız olursa, paket ayrıntıları sayfası ilgili hatayı görüntüleyecek şekilde güncellenecek ve size bir e-posta gönderilir.
Paket doğrulama ve dizin oluşturma genellikle 15 dakika boyunca sürer. Paket yayımlaması beklenenden uzun sürüyorsa, nuget.org 'in herhangi bir kesinti yaşamadığını denetlemek için Status.NuGet.org adresini ziyaret edin. Tüm sistemler çalışır durumda ve paket bir saat içinde başarıyla yayımlanmamışsa, lütfen nuget.org ' e oturum açın ve paket sayfasındaki desteğe başvurun bağlantısını kullanarak bizimle iletişime geçin.
Bir paketin durumunu görmek için nuget.org adresindeki hesap adınızın altındaki paketleri Yönet ' i seçin. Doğrulama tamamlandığında bir onay e-postası alırsınız.
Paketinizin dizine alınması ve başkalarının bulabileceği arama sonuçlarında görünmesi biraz zaman alabilir ve bu durumda paket sayfanızda aşağıdaki iletiyi görürsünüz:

Azure DevOps Services (cı/CD)
sürekli tümleştirme/dağıtım işleminizin bir parçası olarak Azure DevOps Services kullanarak paketler nuget.org 'e gönderim yaparsanız, nuget.exe NuGet görevlerinde 4,1 veya üzeri bir sürümü kullanmanız gerekir. ayrıntılar , derlemede en son NuGet (Microsoft DevOps blogu) kullanılarak bulunabilir.
Nuget.org üzerinde paket sahiplerini yönetme
her NuGet paketinin .nuspec dosyası paketin yazarlarını tanımlasa da, nuget.org galerisi bu meta verileri sahipliğini tanımlamak için kullanmaz. Bunun yerine nuget.org, paketi yayımlayan kişiye ilk sahiplik atar. Bu, paketi nuget.org kullanıcı arabiriminden yükleyen oturum açmış bir kullanıcı veya API anahtarı veya ile kullanılan kullanıcıları ya da nuget SetApiKeynuget push .
Tüm paket sahipleri, diğer sahipleri ekleme ve kaldırma ve güncelleştirme yayımlama dahil olmak üzere paket için tam izinlere sahiptir.
Bir paketin sahipliğini değiştirmek için aşağıdakileri yapın:
- Nuget.org 'de paketin geçerli sahibi olan hesapla oturum açın.
- Hesap adınızı seçin, paketleri Yönet' i seçin ve yayımlanan paketler' i genişletin.
- Yönetmek istediğiniz paketi seçin, ardından sağ tarafta sahipleri Yönet' i seçin.
Buradan çeşitli seçenekleriniz vardır:
- Geçerli sahipleraltında listelenen tüm sahipleri kaldırın.
- Kullanıcı adını, bir iletiyi girerek ve Ekle' yi seçerek sahip Ekle altına bir sahip ekleyin. Bu eylem, bu yeni ortak Sahibe onay bağlantısı ile bir e-posta gönderir. Onaylandıktan sonra, bu kişinin sahipleri eklemek ve kaldırmak için tam izinleri vardır. (Onaylanana kadar, geçerli sahipler bölümü söz konusu kişi için bekleyen onay olduğunu gösterir.)
- Sahipliği aktarmak için (sahiplik değişiklikleri veya bir paket yanlış hesap altında yayımlandığında olduğu gibi), yeni sahibi ekleyin ve sahipliği onayladıktan sonra listeden kaldırabilir.
Bir şirkete veya gruba sahiplik atamak için, uygun takım üyelerine iletilen bir e-posta diğer adı kullanarak bir nuget.org hesabı oluşturun. örneğin, çeşitli Microsoft ASP.NET paketleri Microsoft ve aspnet hesaplarına aittir, bu da yalnızca diğer adlar vardır.
Paket sahipliği kurtarılıyor
Bazen bir paket etkin bir sahibe sahip olmayabilir. Örneğin, özgün sahip, paketi üreten şirketi bıraktı, nuget.org kimlik bilgileri kayboluyor veya galerideki daha önceki hatalar bir paket sahipi bıraktı.
bir paketin sağtasyon sahibiyseniz ve sahipliği yeniden kazanmak istiyorsanız, NuGet ekibine durumunuzu açıklamak için nuget.org adresindeki iletişim formunu kullanın. daha sonra paketin sahipliğini doğrulamak için, paketin Project URL 'si, Twitter, e-posta veya başka yollarla mevcut sahibini bulmaya çalışmak de dahil olmak üzere bir işlemi izliyoruz. Ancak diğerleri başarısız olursa, size sahip olmaya yönelik yeni bir davet gönderebiliriz.