DevOps–Pushing Nuget package to Azure Artifacts Repository

DevOps–Pushing Nuget package to Azure Artifacts Repository
Some days you can be really productive, and others some very simple things just seem to eat up time. Today, I came across the latter and thought I would document for others and also myself. Installing a credprovider in order to push a nuget package to Auzre-DevOps. Read on... - June 11, 2020

Rest of the Story:

What a journey

I am going to document this for the sole reason that I am aware that I will once again need this information only just a few days from now. Problem: I have a nuget package that I want to push to an Azure Artifact directory.

I figured easy enough there is some documentation, and I tried with the following:

nuget push -source "MyFeed_feed" -apikey az "C:\tfs\Git\MLayout\MLayout\MLayout\bin\Debug\Layout.1.0.0.nupkg"

I did have to download Nuget and ensure it was found when using the above command via command prompt. Once setup, and re-ran I was prompted for username and password. As many times as I tried it would just continue to fail and eventually would timeout. I am sure this worked just a few weeks ago.

Regardless on to plan B, documentation..

1) I downloaded the latest Nuget.exe

2) Download and install the credential provider (this one was a bit more challenging)

I figured I would use the Automatic approach.

a) I downloaded installcredprovider.ps1 from this github location https://github.com/microsoft/artifacts-credprovider/tree/master/helpers (more information can be found here)

b) Now that I have a file on disk, I have to run it. I started Powershell then proceeded to run this ps1 by typing .\installcredprovider.ps1 at the PS>

d) Now with this installed I retried to push my nuget package with nuget push -source "MyFeed_feed" -apikey az "C:\tfs\Git\MLayout\MLayout\MLayout\bin\Debug\Layout.1.0.0.nupkg"

No go, so I tried with using the vs.net command prompt.

I opened up a command prompt from Windows-Start ensuring to pick the “Developer Command Prompt for VS 2019”

Now, I ensured that nuget.exe was available and it was! So I retried my nuget push. You can see finally, that it used the Credential Provider

The entire process probably 1 hour of effort, but essentially using the VS.NET 2019 command prompt, download the ps1 for the credprovider, execute using powershell then retry.