Felsöka installerade paket

Ibland kanske du vill verifiera vilken källa ett visst paket installerades från. Här är några sätt att kontrollera.

Anmärkning

Vissa paketkällor stöder ett begrepp som kallas överordnade källor. Till exempel uppströmskällor för Azure Artifacts. NuGet-klienter vet inte om ett paket kom från en uppströmskälla. Därför visar all loggning av paketkällan den konfigurerade källan, inte den överordnade källan.

.nupkg.metadata fil i mappen globala paket

När ett paket extraheras till mappen global-packages skrivs en fil .nupkg.metadata . Från och med NuGet 5.9.0 lägger NuGet till paketkällan. Se nedan för att mappa NuGet-versioner till Visual Studio- eller .NET SDK-versioner. Till exempel:

{
  "version": 2,
  "contentHash": "bw3R9q8cVNhWXNpnvWb0OGP4HadS4zvClq+T1zf7AF+tLY1haZ2AvbHidQekf4PDv1T40c6brZeT/V0IBq7cEQ==",
  "source": "https://api.nuget.org/v3/index.json"
}

Anmärkning

Om mappen global-packages har paket extraherade innan du uppgraderade till en nyare version av verktyg som har NuGet 5.9.0, .nupkg.metadata kommer filen att vara version 1 och innehåller inte paketkällan. Du kan rensa mappen global-packages för att se till att alla paket innehåller paketkällan.

Tips/Råd

NuGet skriver filen .nupkg.metadata till endast mappen global-packages. Projekt som använder packages.config en mapp för lösningspaket, som inte skapar en .nupkg.metadata fil.

Installerat paketloggmeddelande

Från och med NuGet 5.9.0 matar NuGet ut paketkällan i återställningsmeddelandet som informerar om att ett paket har installerats. Till exempel:

Installed Moq 4.16.1 from https://api.nuget.org/v3/index.json with content hash bw3R9q8cVNhWXNpnvWb0OGP4HadS4zvClq+T1zf7AF+tLY1haZ2AvbHidQekf4PDv1T40c6brZeT/V0IBq7cEQ==.

Tips/Råd

Det här meddelandet utdata med normal/informationsmässig utförlighet. Visual Studio och dotnet CLI har standardinställningen för minimal verbositet, så det här meddelandet syns inte som standard. CLI-verktygen msbuild och nuget är som standard inställda på normal verbositet, så det här meddelandet kommer att visas som standard.

HTTP-loggmeddelande

När ett paket inte är tillgängligt lokalt, antingen i mappen global-packages , en reservmapp eller en lokal filkälla, laddar NuGet ned det från valfri konfigurerad paketkälla via HTTP. HTTP-begäranden och svar loggas på normal utförlighetsnivå och du bör bara se en enda begäran och ett svar per paketversion. Till exempel:

info :   GET https://api.nuget.org/v3-flatcontainer/moq/index.json
info :   OK https://api.nuget.org/v3-flatcontainer/moq/index.json 56ms
info :   GET https://api.nuget.org/v3-flatcontainer/moq/4.16.1/moq.4.16.1.nupkg
info :   OK https://api.nuget.org/v3-flatcontainer/moq/4.16.1/moq.4.16.1.nupkg 3ms

Om filerna nyligen har laddats ned kan de hämtas från NuGets http-cache

CACHE https://api.nuget.org/v3-flatcontainer/moq/index.json
CACHE https://api.nuget.org/v3-flatcontainer/moq/4.16.1/moq.4.16.1.nupkg

URL-formatet kan vara annorlunda för olika NuGet HTTP-serverimplementeringar och om det implementerar NuGet V2- eller V3 HTTP-protokoll.

Om flera nuget.config HTTP-källor har definierats visas flera begäranden till varje pakets index.json fil, en för varje källa. Men det kommer bara att finnas en enda nupkg nedladdning för varje version av paketet.

Loggmeddelande för paketsignatur

Om paketet som laddas ned är signerat validerar NuGet signaturen och loggar följande meddelande med detaljerad utförlighet:

PackageSignatureVerificationLog: PackageIdentity: Moq.4.16.1 Source: https://api.nuget.org/v3/index.json PackageSignatureValidity: True

Det här meddelandet rapporteras om paketet laddades ned från en HTTP-paketkälla eller kopierades från en lokal paketkälla. Det blir inte utdata om paketet redan är tillgängligt i mappen global-packages eller en reservmapp.

Viktigt!

På grund av borttagning av förtroende för VeriSign CA NuGet har inaktiverat signerad paketverifiering på vissa plattformar, i vissa versioner av NuGet och .NET SDK. Därför kan samma paket ha PackageSignatureVerificationLog loggar, eller så kanske loggarna saknas, beroende på vilken plattform du kör återställning på och vilken version av .NET eller NuGet du använder.

NuGet-versionskarta

Följande versioner av NuGet har viktiga ändringar när det gäller paketkällloggning:

NuGet-version Visual Studio-version .NET SDK-version
NuGet 5.9.0 Visual Studio 2019 16.9.0 .NET 5 SDK 5.0.200