microsoft/artifacts-keyring

Manjaro: Dotnet 6.0 incompatible with artifacts-keyring

Closed this issue · 1 comments

I had a clean Manjaro install and needed to use packages from Azure Artifacts.

After installing Dotnet 6.0 netstandard-targeting-pack-6.0.0.sdk100-2 dotnet-host-6.0.0.sdk100-2 dotnet-runtime-6.0.0.sdk100-2 dotnet-sdk-6.0.0.sdk100-2 dotnet-targeting-pack-6.0.0.sdk100-2
I got the following error when running this command (Sensitive info redacted)

pip install example-pkg-christian --index-url https://pkgs.dev.azure.com/redacted/redacted/_packaging/redacted/pypi/simple/

Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'System.Security.Cryptography.ProtectedData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.

File name: 'System.Security.Cryptography.ProtectedData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at NuGetCredentialProvider.Util.EncryptedFile.ReadFileBytes(String filePath, Boolean readUnencrypted)
   at NuGetCredentialProvider.Util.SessionTokenCache.ReadFileBytes()
   at NuGetCredentialProvider.Util.SessionTokenCache.get_Cache()
   at NuGetCredentialProvider.Util.SessionTokenCache.TryGetValue(Uri key, String& value)
   at NuGetCredentialProvider.RequestHandlers.GetAuthenticationCredentialsRequestHandler.TryCache(GetAuthenticationCredentialsRequest request, String& cachedToken)
   at NuGetCredentialProvider.RequestHandlers.GetAuthenticationCredentialsRequestHandler.HandleRequestAsync(GetAuthenticationCredentialsRequest request)
   at NuGetCredentialProvider.Program.Main(String[] args)
   at NuGetCredentialProvider.Program.<Main>(String[] args)
WARNING: Keyring is skipped due to an exception: Failed to get credentials: process with PID 193656 exited with code -6; additional error message:
User for pkgs.dev.azure.com:

So instead I tried installing following packages
dotnet-host-6.0.0.sdk100-2 dotnet-runtime-3.1-3.1.20.sdk120-1 dotnet-targeting-pack-3.1-3.1.20.sdk120-1 netstandard-targeting-pack-6.0.0.sdk100-2 dotnet-sdk-3.1-3.1.20.sdk120-1

and now it worked.

[Minimal] [CredentialProvider]ATTENTION: User interaction required.

    **********************************************************************

    To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code REDACTED to authenticate.

    **********************************************************************

PS. @microsoft please don't move the possibility to raise issues on your open-source code away from Github and into your awful developer portal.

This should be resolved now, the credential provider defaults to the .NET 6 version. Please re-open if you're still hitting issues here.

And GitHub issues are no longer routed to the developer portal.