Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du har skapat ett NuGet-paket och har en .nupkg-fil kan du göra paketet tillgängligt för andra utvecklare antingen offentligt eller privat. Den här artikeln beskriver hur du delar offentliga paket globalt via nuget.org.
Du kan också göra privata paket tillgängliga för endast ett team eller en organisation genom att vara värd för dem på en filresurs, en privat NuGet-server eller en lagringsplats från tredje part, till exempel myget, ProGet, Nexus Repository eller Artifactory. För mer information, se Så här hostar du dina egna NuGet-flöden. Information om hur du publicerar med Azure Artifacts finns i Publicera paket till NuGet.org.
Publicera till nuget.org
Om du vill publicera på nuget.org loggar du in på nuget.org med ett Microsoft-konto och använder det för att skapa ett kostnadsfritt nuget.org konto. Följ anvisningarna i Lägg till ett nytt enskilt konto.
               
              
            
När du har ett konto kan du publicera ett paket till nuget.org med hjälp av nuget.org webbportal, dotnet CLI eller NuGet CLI version 4.1.0 eller senare. Du kan också publicera paket via Azure Pipelines.
Ladda upp till nuget.org-webbportalen
Så här laddar du upp ett paket till nuget.org webbplats:
- Välj Ladda upp på den översta menyn på nuget.org, bläddra till paketet på datorn och välj Öppna.   - Om paket-ID:t redan finns på nuget.org får du ett fel. Ändra paketidentifieraren i projektet, packa om och försök ladda upp igen. 
- Om paketnamnet är tillgängligt öppnas avsnittet Verifiera så att du kan granska metadata från paketmanifestet. Om du har inkluderat en readme-fil i paketet väljer du Förhandsversion för att se till att allt innehåll återges korrekt. - Om du vill ändra någon av metadata redigerar du projektfilen eller .nuspec-filen , återskapar, packar om och laddar upp igen. 
- När all information är klar väljer du Skicka. 
Skicka med hjälp av en kommandorad
Om du vill skicka paket till nuget.org med en kommandorad kan du använda antingen dotnet.exe eller nuget.exe v4.1.0 eller senare, som implementerar nödvändiga NuGet-protokoll. Mer information finns i NuGet-protokoll.
Om du vill använda någon av kommandoraderna måste du först hämta en API-nyckel från nuget.org.
Skapa en API-nyckel.
- Logga in på ditt nuget.org-konto eller skapa ett konto om du inte redan har ett. 
- Välj ditt användarnamn längst upp till höger och välj sedan API-nycklar. 
- Välj Skapa och ange ett namn för nyckeln. 
- Under Välj omfång väljer du Push. 
- Under Välj paket>Glob-mönster anger du *. 
- Välj Skapa. 
- Välj Kopiera för att kopiera den nya nyckeln.   
Viktigt!
- Behåll alltid din API-nyckel som en hemlighet. API-nyckeln är som ett lösenord som gör att vem som helst kan hantera paket åt dig. Ta bort eller återskapa DIN API-nyckel om den av misstag avslöjas.
- Spara nyckeln på en säker plats eftersom du inte kan kopiera nyckeln igen senare. Om du återgår till API-nyckelsidan måste du återskapa nyckeln för att kopiera den. Du kan också ta bort API-nyckeln om du inte längre vill push-överföra paket.
Med avgränsning kan du skapa separata API-nycklar för olika syften. Varje nyckel har en tidsram för förfallotid och du kan omfångsbegränsa nyckeln till specifika paket eller globmönster. Du kan också omfångsbegränsa varje nyckel till specifika åtgärder: Push-överföra nya paket och paketversioner, push-överföra endast nya paketversioner eller ta bort listan.
Genom omfång kan du skapa API-nycklar för olika personer som hanterar paket för din organisation så att de bara har de behörigheter de behöver.
För mer information, se omfångsbegränsade API-nycklar.
Använd dotnet CLI
Kör följande kommando från mappen som innehåller .nupkg-filen . Ange ditt .nupkg-filnamn och ersätt nyckelvärdet med din API-nyckel.
dotnet nuget push Contoso.08.28.22.001.Test.1.0.0.nupkg --api-key qz2jga8pl3dvn2akksyquwcs9ygggg4exypy3bhxy6w6x6 --source https://api.nuget.org/v3/index.json
Utdata visar resultatet av publiceringsprocessen:
Pushing Contoso.08.28.22.001.Test.1.0.0.nupkg to 'https://www.nuget.org/api/v2/package'...
  PUT https://www.nuget.org/api/v2/package/
warn : All published packages should have license information specified. Learn more: https://aka.ms/nuget/authoring-best-practices#licensing.
  Created https://www.nuget.org/api/v2/package/ 1221ms
Your package was pushed.
Mer information finns i dotnet nuget push.
Anmärkning
Om du vill undvika att testpaketet är live på nuget.org kan du skicka till nuget.org testplatsen på https://int.nugettest.org. Observera att paket som laddats upp till int.nugettest.org kanske inte bevaras.
Använda NuGet CLI
- Kör följande kommando i en kommandotolk och ersätt - <your_API_key>med nyckeln du fick från nuget.org:- nuget setApiKey <your_API_key>- Det här kommandot lagrar din API-nyckel i NuGet-konfigurationen så att du inte behöver ange API-nyckeln igen på samma dator. - Anmärkning - Den här API-nyckeln används inte för att autentisera med privata feeds. Information om hur du hanterar autentiseringsuppgifter för autentisering med dessa källor finns i kommandot nuget sources (Nuget-källor). 
- Tryck paketet med hjälp av följande kommando: - nuget push YourPackage.nupkg -Source https://api.nuget.org/v3/index.json
Publicera med Azure Pipelines
Du kan skicka paket till nuget.org med Azure Pipelines som en del av processen för kontinuerlig integrering/kontinuerlig distribution (CI/CD). Mer information finns i Publicera NuGet-paket med Azure Pipelines.
Publicera ett signerat paket
Om du vill skicka ett signerat paket måste du först registrera certifikatet som du använde för att signera paketet. Om du inte uppfyller de signerade paketkraven avvisar nuget.org paketet.
Storleksgränser för paket
Nuget.org har en paketstorleksgräns på cirka 250 MB. När ett paket som överskrider den gränsen laddas upp visas följande fel:
Paketfilen överskrider storleksgränsen. Försök igen.
Om ett sådant paket skickas från kommandoraden skapas följande utdata:
  RequestEntityTooLarge https://www.nuget.org/api/v2/package/ 13903ms
error: Response status code does not indicate success: 413 (The package file exceeds the size limit. Please try again.).
Om du får det här felet kan du överväga att ändra paketinnehållet för att minska dess storlek. Om du packar felsökningssymboler i paketet kan du publicera dem separat. Andra tillgångar kan publiceras separat som ett eller flera beroendepaket för att sprida dem till mindre segment.
Paketverifiering och indexering
Paket som skickas till nuget.org genomgå flera valideringar, till exempel viruskontroller, och befintliga paket genomsöks regelbundet. När paketet klarar alla valideringskontroller kan det ta en stund att indexeras och visas i sökresultaten. När paketet indexeras visas det under Ej listade paket och du ser följande meddelande på paketsidan:
               
              
            
När valideringen och indexeringen är klar får du ett e-postmeddelande om att paketet har publicerats. Om paketet misslyckas med en valideringskontroll uppdateras paketsidan för att visa det associerade felet och du får ett e-postmeddelande.
Paketverifiering och indexering tar vanligtvis mindre än 15 minuter. Om paketpublicering tar längre tid än förväntat kontrollerar du nuget.org status vid status.nuget.org. Om alla system är i drift och paketet inte har publicerats inom en timme kontaktar du nuget.org med hjälp av länken Kontakta support på paketsidan.
Om du vill se paketstatus väljer du Hantera paket under ditt kontonamn längst upp till höger på nuget.org och väljer paketet från Publicerade paket eller Ej listade paket.
Hantera paketägare på nuget.org
Paketägare har fullständig behörighet för paketet, inklusive att lägga till och ta bort andra ägare och publicera uppdateringar.
Även om NuGet-paketets .nuspec-fil definierar paketets författare, använder nuget.org inte dessa metadata för att definiera ägarskap. I stället tilldelar nuget.org ägarskap till den person som publicerar paketet, antingen den inloggade användaren som laddade upp paketet eller den användare vars API-nyckel användes med dotnet push, nuget SetApiKeyeller nuget push.
Så här ändrar du ägarskap för ett paket:
- Logga in på nuget.org med det konto som för närvarande äger paketet. 
- Välj ditt kontonamn uppe till höger, välj Hantera paket och expandera Publicerade paket. 
- Välj det paket som du vill hantera och välj Hantera paket till höger på paketsidan. 
- På sidan pakethantering väljer du Ägare. 
- Välj en av följande åtgärder: - Välj Ta bort för att ta bort den aktuella ägaren. 
- Lägg till en ägare under Lägg till ägare genom att ange deras användarnamn och ett meddelande och välja Lägg till. - Den här åtgärden skickar ett e-postmeddelande till den nya medägaren med en bekräftelselänk. När det har bekräftats har personen fullständig behörighet att lägga till och ta bort ägare. Tills det har bekräftats visar avsnittet Aktuella ägare väntande godkännande för den personen. 
 
Om du vill överföra ägarskapet, som när ägarskapet ändras eller ett paket publiceras under fel konto, lägger du till den nya ägaren. När de har bekräftat ägarskapet kan de ta bort den gamla ägaren från listan.
Om du vill tilldela ägarskap till ett företag eller en grupp skapar du ett nuget.org konto med ett e-postalias som vidarebefordrar till lämpliga teammedlemmar. Olika Microsoft ASP.NET-paket samägs till exempel av microsoft - och aspnet-kontona .
Ibland kanske ett paket inte har någon aktiv ägare. Den ursprungliga ägaren kan till exempel ha lämnat företaget som producerade paketet. Om du är den rättmätiga ägaren av ett paket och behöver återfå ägarskapet använder du kontaktformuläret på nuget.org för att förklara din situation för NuGet-teamet. Teamet följer en process för att verifiera ditt ägarskap, inklusive att försöka hitta den befintliga ägaren, och kan skicka dig en ny inbjudan att bli paketägare.