61 votes

Construire l’erreur lors de la transition entre les branches: Votre projet ne fait pas référence à la ". Cadre NETFramework,Version v4.7.2"

Nous utilisons Git et nous avons une solution qui vise le filet plein cadre. Il y A quelques jours, j'ai commencé la migration de la solution .net de base. Malheureusement, quelque chose qui m'a fait revenir à la branche master (qui est le code complet .NET framework). Chaque fois que j'essaie de construire l'application, j'obtiens l'erreur suivante:

1>D:\Program Files (x86)\Microsoft Visual Studio\2017\Communautaire\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.cibles(186,5): erreur : Votre projet n'est pas le référencement ".NETFramework,Version=v4.7.2" cadre de. Ajouter une référence à ".NETFramework,Version=v4.7.2" dans les "cadres" de votre projet.json, puis exécutez de nouveau NuGet de restauration.

J'ai essayé de nettoyer les packages nuget, l'exécution d'un git reset, mais rien ne semble aider. Une idée sur ce qu'il se passe?

160voto

MaxJ Points 1048

J'ai eu un problème similaire lors de la mise à niveau de certains projets de 4.6.2 4.7.2 - ce qui s'est passé pour nos deux ASP.Net solution de Base cibler plein cadre, et notre WPF solution.

Initialement, il semblait être aléatoire des projets qui ont cette erreur, d'autres projets avec près exactement la même csproj ont été la construction d'amende et d'autres ont été un échec. Le "re-run NuGet restaurer" dans le message que m'a envoyé un mauvais chemin aswell (certains de ces projets n'a même pas de NuGet références...)

Le problème semble provenir de la projets obj dossier contenant un projet.les actifs.fichier json, je ne sais pas quand cela a été généré probablement des reliques du passé, et le nettoyage de la projet de ne pas supprimer ce. Le fichier de points à la précédente cadre, dans mon cas 4.6.2 - de supprimer Manuellement le bin/obj dossiers pour chaque projet, ce qui ne serait pas construire et reconstruire résolu cette erreur pour moi. Cela expliquerait aussi pourquoi, lorsque j'ai cloné le repo pour ma santé mentale, il a également construit amende.

14voto

<ol> <li>Appel <code></code> - Supprimer les fichiers non suivis de l’arbre de travail</li> <li>Reconstruire la solution</li> </ol>

6voto

techSage Points 1

MaxJ's réponse est venu près de ma situation, mais j'ai dû supprimer bin et obj dossiers pour chaque projet dans la solution si vous le faites dans le seul projet qui ne serait pas construire n'a pas de résoudre le construire.

Pour plus de commodité, le PS j'ai utilisé pour le dessus de ce qui doit être exécuté uniquement à la racine d'un dossier que vous n'avez pas l'esprit de la suppression de ces dossiers (en Face nœud de Fin de modules peut être un mauvais endroit, par exemple):

gci -Include bin,obj -Recurse | Remove-Item -Force -Recurse

2voto

JosephRT Points 430

Semble que vous pourriez avoir un certain nombre de bibliothèques qui ne sont pas de Base compatible. Si Nuget attend exigeant 4.7.2, alors quelque chose est probablement encore le ciblage, soit dans votre projet ou d'une bibliothèque que j'avais entreprise. Pourrait aussi expliquer pourquoi le nettoyage de la Nuget packages et de les restaurer ne résout pas le problème si le paquet que vous êtes la restauration vise toujours 4.7.2.

Note connexe, êtes-vous sûr que vous utilisez la dernière structure de projet? J'ai remarqué que votre message d'erreur inclut project.json, qui a été dépréciée en faveur de la nouvelle csproj format; plus d'infos ici si c'est pertinent. Je ne suis pas au courant d'une situation où vous obtenez un message d'erreur à propos du projet.json et la solution n'a pas un projet.json.

1voto

Emma Points 9

J’ai trouvé que juste faire une recherche pour project.assets.json sur mon repo en utilisant l’agent Ransack, puis la suppression de ces fichiers, plutôt que des dossiers bin et obj entiers, a fait l’affaire :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X