Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In versie 3.3 is ondersteuning toegevoegd voor nuget.exe specifieke referentieproviders (v1). Sindsdien is ondersteuning voor (v2) referentieproviders die in alle opdrachtregelscenario's werken toegevoegd in versie
Zie Pakketten van geverifieerde feeds gebruiken voor meer informatie over alle verificatiemethoden.
ontdekking van nuget.exe authenticatieprovider
nuget.exe referentieproviders kunnen op drie manieren worden gebruikt:
Globaal: als u een referentieprovider beschikbaar wilt maken voor alle exemplaren die
nuget.exeworden uitgevoerd onder het profiel van de huidige gebruiker, voegt u deze toe aan%LocalAppData%\NuGet\CredentialProviders. Mogelijk moet u deCredentialProvidersmap maken. Referentieproviders kunnen worden geïnstalleerd in de hoofdmap van deCredentialProvidersmap of in een submap. Als een referentieprovider meerdere bestanden/assembly's heeft, kunt u submappen gebruiken om de providers georganiseerd te houden.Vanuit een omgevingsvariabele: referentieproviders kunnen overal worden opgeslagen en toegankelijk worden gemaakt door de
nuget.exeomgevingsvariabele%NUGET_CREDENTIALPROVIDERS_PATH%in te stellen op de locatie van de provider. Deze variabele kan een door puntkomma's gescheiden lijst zijn (bijvoorbeeldpath1;path2) als u meerdere locaties hebt.Naast nuget.exe: nuget.exe referentieproviders kunnen in dezelfde map worden geplaatst als
nuget.exe.
Wanneer u referentieproviders laadt, zoekt u nuget.exe op de bovenstaande locaties, in volgorde naar een bestand met de naam credentialprovider*.exe, en laadt u die bestanden in de volgorde waarin ze worden gevonden. Als er meerdere referentieproviders in dezelfde map staan, worden ze in alfabetische volgorde geladen.
Een nuget.exe referentiesleverancier maken
Een referentieprovider is een uitvoerbare opdrachtregeltool, genaamd in de vorm CredentialProvider*.exe, die invoer verzamelt, inloggegevens verkrijgt, en vervolgens de juiste exitcode en standaarduitvoer retourneert.
Een provider moet het volgende doen:
- Bepaal of er inloggegevens kunnen worden opgegeven voor de doel-URI voordat u deze gaat opvragen. Als dat niet het geval is, moet de statuscode 1 zonder inloggegevens worden geretourneerd.
- Niet wijzigen
NuGet.Config(bijvoorbeeld door daar inloggegevens in te stellen). - Http-proxyconfiguratie zelf verwerken, omdat NuGet geen proxygegevens aan de invoegtoepassing levert.
- Retourneert referenties of foutdetails naar
nuget.exedoor een JSON-antwoordobject (zie hieronder) naar stdout te schrijven met behulp van UTF-8-codering. - Voer optioneel extra tracelogboek uit naar stderr. Er mogen nooit geheimen naar stderr worden geschreven omdat dergelijke logbestanden bij uitgebreidheidsniveaus 'normaal' of 'gedetailleerd' door NuGet naar de console worden herhaald.
- Onverwachte parameters moeten worden genegeerd, waardoor compatibiliteit met toekomstige versies van NuGet wordt geboden.
Invoerparameters
| Parameter/schakelaar | Description |
|---|---|
| Uri {value} | De pakketbron-URI vereist referenties. |
| Niet-interactief | Indien aanwezig, geeft de provider geen interactieve prompts uit. |
| IsRetry | Als deze aanwezig is, geeft u aan dat deze poging een nieuwe poging is van een eerder mislukte poging. Providers gebruiken deze vlag doorgaans om ervoor te zorgen dat ze alle bestaande caches omzeilen en, indien mogelijk, vragen om nieuwe referenties. |
| Uitgebreidheid {value} | Indien aanwezig, een van de volgende waarden: 'normaal', 'stil' of 'gedetailleerd'. Als er geen waarde wordt opgegeven, wordt standaard 'normaal' gebruikt. Providers moeten dit gebruiken als indicatie van het niveau van optionele logboekregistratie om naar de standaardfoutuitvoer te verzenden. |
Afsluitcodes
| Code | Resultaat | Description |
|---|---|---|
| 0 | Success | Referentiegegevens zijn succesvol verkregen en naar stdout geschreven. |
| 1 | ProviderNotApplicable | De huidige provider biedt geen referenties voor de opgegeven URI. |
| 2 | Failure | De provider is de juiste provider voor de opgegeven URI, maar kan geen referenties opgeven. In dit geval zal nuget.exe verificatie niet opnieuw proberen en mislukt het. Een typisch voorbeeld is wanneer een gebruiker een interactieve aanmelding annuleert. |
Standaarduitvoer
| Vastgoed | Opmerkingen |
|---|---|
| Gebruikersnaam | Gebruikersnaam voor geverifieerde aanvragen. |
| Wachtwoord | Wachtwoord voor geverifieerde aanvragen. |
| Message | Optionele details over het antwoord, alleen gebruikt om aanvullende details weer te geven in foutgevallen. |
Voorbeeld stdout:
{ "Username" : "freddy@example.com",
"Password" : "bwm3bcx6txhprzmxhl2x63mdsul6grctazoomtdb6kfbof7m3a3z",
"Message" : "" }
Problemen oplossen met een verificatieaanbieder
Op dit moment biedt NuGet niet veel directe ondersteuning voor het opsporen van fouten in aangepaste referentieproviders; probleem 4598 houdt dit werk bij.
U kunt ook het volgende doen:
Voer nuget.exe uit met de
-verbosityswitch om gedetailleerde uitvoer te controleren.Voeg foutopsporingsberichten toe aan
stdoutop de juiste locaties.Zorg ervoor dat u nuget.exe 3.3 of hoger gebruikt.
Koppel het foutopsporingsprogramma bij het opstarten met dit codefragment:
while (!Debugger.IsAttached) { System.Threading.Thread.Sleep(100); } Debugger.Break();