Azure Pipelines ile NuGet paketlerini geri yükleme
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
NuGet Paketi Geri Yükleme ile projenizin tüm bağımlılıklarını kaynak denetiminde depolamak zorunda kalmadan yükleyebilirsiniz. Bu, daha temiz bir geliştirme ortamı ve daha küçük bir depo boyutu sağlar. NuGet geri yükleme görevini, NuGet CLI'yı veya .NET Core CLI'yı kullanarak NuGet paketlerinizi geri yükleyebilirsiniz. Bu makalede, Hem Klasik hem de YAML İşlem Hatlarını kullanarak NuGet paketlerinizi nasıl geri yükleneceği gösterilmektedir.
Önkoşullar
- Bir Azure DevOps kuruluşu. Henüz bir kuruluşunuz yoksa bir kuruluş oluşturun.
- Azure DevOps projesi. Henüz bir projeniz yoksa yeni bir proje oluşturabilirsiniz.
- Azure Artifacts akışı. Henüz yoksa yeni bir akış oluşturun.
- Azure Artifacts akışına Bağlan: NuGet.exe, dotnet.
- İşlem hattı izinlerinizi ayarlayın.
Akıştan NuGet paketlerini geri yükleme
Klasik işlem hattı tanımınıza gidin ve Düzenle'yi seçin.
Yeni görev eklemek için seçin + . Görevi işlem hattınıza eklemek için NuGet'i arayın ve Ekle'yi seçin.
Görevinizi adlandırın ve Komuttan Geri Yükle'yi seçin.
Buradan seçtiğim Akışlar'ı seçin ve açılan menüden akışınızı seçin. Kendi yapılandırma dosyanızı kullanmak istiyorsanız, NuGet.config dosyamda Akışlar'ı seçin ve kuruluşunuzun dışındaki akışlarla kimlik doğrulaması yapmak istiyorsanız NuGet.config dosyanızın ve hizmet bağlantınızın yolunu girin.
NuGet.org paketlerini dahil etmek istiyorsanız, NuGet.org paketlerini kullan onay kutusunu işaretleyin.
İşiniz bittiğinde Kaydet ve kuyruk'a tıklayın.
Not
Klasik NuGet geri yükleme NuGetCommand@2 görevini kullanır. Varsayılan olarak, bu sürüm NuGet 4.1.0 kullanır. Farklı bir NuGet sürümü kullanmak istiyorsanız NuGet Aracı Yükleyicisi görevini kullanın.
NuGet paketlerini yerel olarak geri yükleme
öğesini veya .sln
dosyanızla nuget.config
.csproj
aynı klasöre yerleştirin. Yapılandırma dosyanız aşağıdaki örneğe benzer görünmelidir:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!-- remove inherited connection strings -->
<clear />
<!-- add an Azure Artifacts feed -->
<add key="FabrikamFiber" value="https://pkgs.dev.azure.com/microsoftLearnModule/_packaging/FabrikamFiber/nuget/v3/index.json" />
<!-- Get packages from NuGet.org -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
NuGet paketlerinizi geri yüklemek için proje dizininizde aşağıdaki komutu çalıştırın:
nuget.exe restore
NuGet paketlerini farklı bir kuruluştaki bir akıştan geri yükleme
NuGet paketlerini farklı bir Azure DevOps kuruluşundaki bir akıştan geri yüklemek için kimlik doğrulaması için kişisel erişim belirteci kullanmanız gerekir.
Kişisel erişim belirteci oluşturma
Azure DevOps kuruluşunuza gidin ve kullanıcı ayarları>Kişisel Erişim Belirteçleri'ni seçin.
Paketleme (okuma) kapsamına sahip bir kişisel erişim belirteci oluşturun ve PAT'nizi panoya kopyalayın.
NuGet paketlerini geri yükleme
İşlem hattı tanımınıza gidin ve NuGet geri yükleme görevini seçin. Görevin 2. sürümünü kullandığınızdan emin olun.
Akışlar ve kimlik doğrulaması'nı ve ardından NuGet.config'imde Akışlar'ı seçin.
NuGet.config dosyanızın yolunu seçin.
Bu kuruluş/koleksiyon dışındaki akışlar için Kimlik Bilgileri eklemek için Yeni'yi seçin.
Dış Azure DevOps Sunucusu'nu seçin ve akış URL'nizi (NuGet.config dosyasındakiyle eşleştiğinden emin olun), hizmet bağlantı adınızı ve daha önce oluşturduğunuz kişisel erişim belirtecini girin. Bitirdiğinizde Kaydet'i seçin.
İşiniz bittiğinde Kaydet ve kuyruk'a tıklayın.
SSS
S: İşlem hattım NuGet paketlerimi geri yükleyemediği için mi?
Y: NuGet geri yükleme görevi çeşitli nedenlerle başarısız olabilir. En yaygın senaryo, işlem hattınızın kullandığı NuGet sürümü tarafından desteklenmeyen bir hedef çerçeve gerektiren yeni bir proje eklemenizdir. Visual Studio çözümünüzü uygun şekilde güncelleştirdiğinden bu hata genellikle yerel geliştirme ortamında gerçekleşmez. NuGet görevinizi en son sürüme yükselttiğinizden emin olun.