J'ai Asp.netCore
solution qui fonctionnait bien sur Visual Studio 2015
et puis je suis passé à Visual Studio 2017
. Maintenant, le problème est que dans Visual Studio 2017
sur chaque paquet de nuget, il y a un point d'exclamation jaune. Voici une solution que j'ai essayée jusqu'à présent.
J'utilise Visual Studio Version: 15.3.1
Clear All Nugget Cache(s)
à partir de Tools > options > NuGet Package Manager >
et à nouveau restaurer Nuget.Remarque: j'ai cherché et trouvé la solution suivante et essayé mais je n'ai pas résolu mon problème.
J'ai trouvé la réponse sur un autre fil ici et le mérite en revient à @AxelWass bien qu'il ne l'ait pas spécifiquement ciblé, il résout ce problème de manière absolue. La réponse ci-dessus n'a pas.
J'ai eu le même problème et le résoudre en ouvrant le projet dans un éditeur de texte et en supprimant la section suivante:
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
Une fois que cela est supprimé, cela résoudra ce problème cauchemardesque que VS2017 et PM ne semblent pas en mesure de résoudre. Moi aussi, je me suis heurté à ce problème plusieurs fois, en particulier lorsque je mélange plusieurs projets dans le même répertoire de solutions.
Comme indiqué dans Microsoft Installation et réinstallation de packages avec la restauration de package Documentation , vous devez Update-Package -reinstall
:
Update-Package -reinstall -ProjectName <project>
commande où est le nom du projet affecté tel qu'il apparaît dans Solution Explorer. UtilisezUpdate-Package -reinstall
seul pour restaurer Tous les packages de la solution.
Par défaut, la nouvelle installation de visual studio n'a pas configuré la source de package pour rechercher des packages en ligne. Cela a causé le problème.
J'ai trouvé la réponse avec un peu plus de travail d'un lien stackoverflow: https://stackoverflow.com/a/32360953/1503372 .
Cette réponse mentionne l'utilisation de " https://www.nuget.org/api/v2 " url pour restaurer les packages. Lorsque j'ai ouvert la console du gestionnaire de paquets dans Visual Studio 2017, j'ai découvert qu'il recherchait uniquement des paquets sur mon PC (recherche hors ligne).
J'ai ensuite ajouté " https://www.nuget.org/api/v2 " url en tant que source pour la restauration de packages et cela a fonctionné.
Suivez les étapes ci-dessous pour ajouter une source de package.
Une fois que vous avez configuré votre visual studio pour rechercher des packages en ligne, tous vos packages seront restaurés.
J'ai découvert une mauvaise configuration dans le nuget.config
. Je ne sais pas pourquoi, dans ce fichier, il y a des exclusions pour mon projet actuel.
Vous pouvez voir votre configuration globale exécutant cette commande dans File Explorer
%AppData%\NuGet\NuGet.Config