Resolviendo problemas con repositorios de paquetes NuGet a la hora de instalar Templates de proyectos en .NET Core
Recientemente me he encontrado con la necesidad de instalar una template de Blazor WebAssembly App en un ordenador que tenía la última versión de Visual Studio 2019 instalada (versión 16.5.3 en mi caso).
Ese ordenador tenía configurados, además de nuget.org, varios repositorios más de paquetes NuGet.
Algunos de esos repositorios son públicos y otros privados.
Y algunos de ellos, necesitan autenticación.
No obstante, mi necesidad es la de instalar un paquete de NuGet público, concretamente en nuget.org. Sin autenticación de ningún tipo.
Para ello, debo ejecutar el comando que Microsoft indica para instalar la plantilla ASP.NET Core Blazor WebAssembly.
Ese comando es a la hora de escribir esta entrada:
dotnet new –install Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0-preview3.20168.3
El problema es que cuando ejecuto el comando, me encuentro que intenta conectarse a uno de los repositorios que requieren autenticación, y el proceso finaliza bruscamente.
El mensaje de error que me devuelve es:
Response status code does not indicate success: 401 (Unauthorized)
El asunto es que el comando dotnet new está realmente tirando de lo que encuentra en:
C:\Users[User_Name]\AppData\Roaming\NuGet\NuGet.Config
Así que aquí tenemos la alternativa de modificar este fichero de configuración para evitar el problema y dejar el repositorio NuGet que nos interesa o bien hacerlo de otra forma que explicaré a continuación.
y es que si lo que queremos es NO TOCAR nada, basta con hacerlo desde la línea de comandos directamente, indicando desde ahí mismo, el repositorio NuGet del que queremos obtener el paquete.
En este caso concreto:
dotnet new –install Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0-preview3.20168.3 –nuget-source https://api.nuget.org/v3/index.json
De esta forma, indicaremos a dotnet new que queremos utilizar un repositorio de paquetes NuGet concreto, resolviendo así el problema inicial.
Sin necesidad de tocar nada y saliendo del paso.
Espero que encuentres útil esta entrada si por un casual, te encuentras con este mismo problema.
Happy Coding!
2 Responsesso far
Cuál es el contenido de NuGet.Config ? Saludos.
Hola Kique
Tienes más info sobre NuGet.config en este enlace de Microsoft:
https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file
Un saludo