Usare pacchetti dalla raccolta NuGet

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Le origini upstream di Azure Artifacts semplificano il pull dei pacchetti dai registri pubblici, ad esempio nuget.org e npmjs.com. In questo articolo, impari come configurare il tuo progetto e utilizzare la riga di comando per utilizzare i pacchetti NuGet dalla NuGet Gallery.

Prerequisiti

Prodotto Requisiti
Azure DevOps - Un'organizzazione di Azure DevOps.
- Un progetto Azure DevOps .
- Un feed di Azure Artifacts .
- Scaricare e installare .NET SDK versione 9.0.200 o versione successiva.

Configurare il provider di credenziali Azure Artifacts

Per eseguire l'autenticazione con il feed, è prima necessario installare il provider di credenziali Azure Artifacts. Usando il programma di installazione dello strumento incluso in dotnet, è possibile installare il provider di credenziali dall'interfaccia della riga di comando usando il comando seguente:

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool

Se il file nuget.config a livello di repository è configurato per usare solo le origini di Azure Artifacts, esegui il comando di installazione da fuori di tale directory oppure imposta esplicitamente nuget.org come origine:

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json

Facoltativamente, aggiungere lo strumento a una versione principale(ad esempio, nelle immagini del contenitore in cui la riproducibilità è importante):

dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json

Primo utilizzo

La prima volta che si esegue un'operazione che richiede l'autenticazione, usare uno degli approcci seguenti:

  1. Esegui il comando con --interactive in modo che dotnet possa chiederti di accedere. Questo è l'approccio consigliato per la maggior parte degli scenari di sviluppo locali.

Prima di eseguire un comando interattivo, assicurarsi che il progetto sia configurato e che il feed venga aggiunto a nuget.config. Per informazioni dettagliate sull'installazione, vedere Configurazione del progetto.

Dopo aver configurato e connesso il progetto al feed, passare alla directory del progetto ed eseguire:

dotnet restore --interactive

Questo comando consente di accedere e acquisire un token di sessione. Dopo aver effettuato l'accesso, è possibile eseguire comandi autenticati senza --interactive finché il token di sessione memorizzato nella cache rimane valido. Per altre informazioni, vedere Session token cache locations.

  1. Per gli scenari non interattivi, ad esempio i contenitori Docker e l'automazione personalizzata, fornire le credenziali tramite le variabili environment.

Per Azure Pipelines, usare l'attività NuGetAuthenticate@1 per eseguire l'autenticazione nel feed prima di eseguire comandi come dotnet restore o dotnet nuget push. Per ulteriori dettagli, vedere Ripristinare i pacchetti NuGet con Azure Pipelines.

Creare un feed e abilitare le origini upstream

Se non è ancora stato creato un feed, seguire questa procedura per creare un nuovo feed e abilitare le origini upstream. Se si dispone già di un feed, procedere con il passaggio successivo per aggiungere la raccolta NuGet come origine upstream.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Seleziona Artefatti e quindi Crea Feed.

  3. Specificare un nome per il feed, selezionare l'opzione Visibilità per definire chi può visualizzare i pacchetti e scegliere l'ambito. Azure Artifacts consiglia di limitare i feed a un progetto anziché all'intera organizzazione.

  4. Assicurarsi di selezionare l'opzione Includi pacchetti da origini pubbliche comuni, poiché avrai bisogno di questo per consumare pacchetti da registri pubblici, come nuget.org, npmjs.com, ecc.

  5. Al termine, fare clic su Crea.

    Screenshot che mostra come creare un nuovo feed e abilitare le origini upstream in Azure Artifacts.

Se è stata selezionata la casella di controllo Origini upstream durante la creazione del feed (come illustrato nella sezione precedente), la raccolta NuGet dovrebbe essere stata aggiunta automaticamente alle origini upstream del feed. Se si usa un feed diverso o si è dimenticato di selezionare questa opzione, è possibile aggiungere manualmente la raccolta NuGet seguendo questa procedura:

  1. Accedere ad Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il tuo feed dal menu a discesa.

  3. Selezionare il pulsante a forma di ingranaggio per accedere alle impostazioni del feed.

  1. Selezionare Origini Upstream e quindi Aggiungi Origine Upstream.

  2. Selezionare Origine pubblica, selezionare Raccolta NuGet dal menu a discesa e quindi selezionare Aggiungi.

  3. Selezionare Salva nell'angolo in alto a destra, quindi selezionare di nuovo Salva per confermare e applicare le modifiche.

Connetti al tuo feed

In questa sezione si apprenderà come configurare il progetto per l'autenticazione con il feed di Azure Artifacts e salvare i pacchetti da origini upstream, ad esempio la raccolta NuGet.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il tuo feed dal menu a discesa.

  3. Selezionare Connetti al feed e quindi selezionare NuGet.exe.

  4. Assicurati di aver installato i prerequisiti, quindi aggiungi un file nuget.config nella stessa cartella del file .csproj o .sln.

  5. Incollare il frammento XML fornito nella sezione Installazione progetto nel file. Il file dovrebbe essere simile al seguente:

    • Feed con ambito di progetto

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • Feed dell'ambito organizzativo:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Accedere alla raccolta di Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il tuo feed dal menu a discesa.

  3. Selezionare Connetti al feed e quindi selezionare NuGet.exe nel riquadro di spostamento a sinistra.

  4. Seguire le istruzioni nella sezione Configurazione del progetto per connettersi al feed.

Nota

Per salvare i pacchetti da origini upstream, è necessario essere un Feed e Upstream Reader (Collaboratore) o livello superiore. Per altri dettagli, vedere Gestire le autorizzazioni .

Ora che il progetto è stato configurato per autenticarsi con il feed di Azure Artifacts, puoi procedere a installare i pacchetti dalla raccolta upstream di NuGet. In questo esempio si installerà MCP C# SDK per il protocollo di contesto del modello per le applicazioni .NET per interagire con client e server MCP:

  1. Navigare verso la raccolta NuGet all'indirizzo https://www.nuget.org/.

  2. Cercare ModelContextProtocol e quindi selezionarlo per aprire la pagina dei dettagli.

  3. Selezionare la scheda .NET CLI e copiare il comando. In questo esempio il comando è:

    dotnet add package ModelContextProtocol --version 0.3.0-preview.4
    
  4. Aprire una finestra del prompt dei comandi, passare alla directory del progetto, quindi incollare il comando e premere INVIO per installare il pacchetto.

Dopo l'installazione, una copia del pacchetto verrà salvata automaticamente nel feed, assicurando la disponibilità se NuGet Gallery è inattiva e proteggendo il flusso di lavoro da altri pacchetti danneggiati o dannosi dal registro pubblico.

Nota

Per salvare i pacchetti dagli upstream, è necessario avere il ruolo Feed e lettore upstream (collaboratore) o superiore. Per altri dettagli, vedere Ruoli e autorizzazioni del feed .

Visualizzare i pacchetti salvati

  1. Accedere ad Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il tuo feed dal menu a discesa.

  3. Selezionare la sorgente NuGet Gallery dal menu a discesa per filtrare i pacchetti da questo upstream.

  4. I pacchetti ModelContextProtocol , installati nel passaggio precedente, sono ora disponibili nel feed. Azure Artifacts ha salvato automaticamente una copia nel feed.

    Screenshot che mostra il pacchetto MCP salvato nel feed.