J'ai une version pour une solution .NET qui s'exécute dans un agent privé. La solution contient à la fois des projets .NET Core 2.1 et .NET Standard 2.0.
Certains des packages de nuget installés sont les suivants:
La construction échoue lors de la tentative de restauration des packages de nuget avec l'erreur suivante:
"F:\Agent01\w\141\s\xxxxxxx.sln" (cible de restauration) (1) -> (Restaurer la cible) -> C:\Program Files\dotnet\sdk\2.1.500\NuGet.targets (114,5): erreur: impossible de charger l'index de service pour la source https://xxxxxxxxxx.pkgs.visualstudio.com/_package/xxxxxxxxxx /nuget/v3/index.json . C:\Program Files\dotnet\sdk\2.1.500\NuGet.targets (114,5): erreur: le code d'état de la réponse n'indique pas le succès: 401 (non autorisé).
La tâche de construction est la suivante:
Voici le contenu du fichier %appdata%\NuGet\nuget.config
dans l'agent de génération:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="MyFeed" value="https://xxxxxxxxxx.pkgs.visualstudio.com/_packaging/xxxxxxxxxx/nuget/v3/index.json" />
</packageSources>
<packageSourceCredentials>
<MyFeed>
<add key="Username" value="LocalBuildAgent" />
<add key="ClearTextPassword" value="xxxxxxxxxxx" />
</MyFeed>
</packageSourceCredentials>
</configuration>
J'ai déjà vérifié quelques questions similaires mais jusqu'à présent, je n'ai pas pu trouver de solution à mon problème.
Quelques notes:
Qu'est-ce que je rate? Comment résoudre ce problème? Pourquoi ne puis-je pas restaurer les packages à l'aide de la commande dotnet restore
?
Les packages sont restaurés sans erreur lors de l'utilisation de la tâche ancien _ restauration du Nuget comme suit:
Je suis en mesure de restaurer les packages à l'aide de la tâche .NET Core v1:
Ou en utilisant la tâche v2 avec l'argument --force
:
J'ai trouvé une solution - ajoutez la source de paquet suivante à %appdata%\NuGet\nuget.config
:
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
Le fichier complet ressemble à ceci:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="MyFeed" value="https://xxxxxxxxxx.pkgs.visualstudio.com/_packaging/xxxxxxxxxx/nuget/v3/index.json" />
</packageSources>
<packageSourceCredentials>
<MyFeed>
<add key="Username" value="LocalBuildAgent" />
<add key="ClearTextPassword" value="xxxxxxxxxxx" />
</MyFeed>
</packageSourceCredentials>
</configuration>
En outre, vérifiez La régression dans le Kit de développement .NET SDK 500: "L'installation de l'outil dotnet" échoue avec 401 (non autorisé) lorsqu'un flux privé existe dans NuGet.config # 7524 . Ce problème semble être dû au .NET SDK 2.1.500.
Une autre solution consiste à désinstaller cette version:
Le problème n'est pas présent dans .NET Core SDK 2.1.400, par exemple. il s'en va lorsque le Kit de développement .NET Core SDK 2.1.500 est désinstallé et réapparaît lorsque SDK 2.1.500 est à nouveau installé.
Utiliser la dernière tâche "Utiliser .NET Core sdk 2.1.504" a fonctionné pour moi . Il semble y avoir des versions erronées de .NET Core sdk 2.1.5xx.