J'ai un projet C # sur Git qui utilise les bibliothèques de NuGet. Tout fonctionne bien, mais lorsque j'utilise une nouvelle machine et que j'ouvre la solution dans Visual Studio, celle-ci ne se compile pas à cause de références cassées. Si je clique sur les références du projet, je peux voir le panneau d'avertissement classique avec le point d'exclamation jaune.
La restauration par Nuget ne fera rien (et je n'ai toujours pas trouvé d'utilisation de cette fonctionnalité ...), les fichiers repositories.config sont corrects. Si je clique avec le bouton droit sur la solution, puis sur «Gérer les packages NuGet pour la solution», aucun package installé ne s'affiche.
À ce jour, je l'ai résolu de cette façon:
Install-Package package_name
ça dit:
'package_name' already installed.
My_project already has a reference to 'package_name'.
... et après cela, les packages du gestionnaire, déjà affectés au bon projet, sont affichés.
RIEN N'A ÉTÉ MODIFIÉ DANS LE code PARTOUT , je peux le voir car il n'y a pas de différences sur Git.
Je ne dois le faire qu'une fois sur de nouvelles machines, mais c'est vraiment ennuyeux. Une idée?
Version de NuGet: 2.8.60318.667
UPDATE27/07
J'ai essayé la procédure à partir de zéro sur un autre PC, sous Windows 10, et tout fonctionne ... même version de Visual Studio, NuGet, etc.
Cela est probablement dû au chemin incorrect du fichier .dll dans votre fichier .csproj. La restauration de package télécharge les packages dans le répertoire local. Cela ne change pas le chemin de référence de l'assembly dans le fichier .csproj, ce qui signifie que le projet tentera toujours de localiser les dll sur le répertoire local. La marque jaune signifie que le projet est incapable de localiser l’Assemblée.
Déchargez le projet, cliquez avec le bouton droit sur le projet et sélectionnez "Modifier le fichier .csproj", puis vérifiez le chemin des DLL manquantes. Par exemple - Si vous avez NUnit,
<Reference Include="nunit.framework">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
vérifiez si la dll est présente dans le répertoire "\ packages\NUnit.3.6.1\lib\net45".
De mémoire, je peux penser à quelques-unes des raisons pour lesquelles les packages ne sont pas téléchargés. Idéalement, vous devriez partager quelques détails supplémentaires.
Tout d'abord, la commande install-package ne fonctionnera pas. Vos packages sont déjà installés, mais VS ne parvient pas à les télécharger. Il est donc logique que vous obteniez cette erreur.
Vous pouvez ouvrir la console du gestionnaire de packages et taper:
Update-Package -reinstall
ou
Update-Package -reinstall -Project YourProjectName
Pour info, il existe un document complet de Microsoft - https://docs.Microsoft.com/en-us/nuget/consume-packages/package-restore - sur les multiples façons de restaurer des paquets de nuget
J'ai résolu ce problème. Suivez ces étapes
essayez de supprimer votre paquet du dossier cache du nuget ci-dessous afin que NUGET soit obligé de télécharger depuis la source
C:\Utilisateurs\<< votre nom d'utilisateur >> \. Nuget\packages