Error: Your project.json doesn't have a runtimes section
Parfois, quand on travaille à plusieurs mains, il y a des erreurs pour lesquels il est difficile de comprendre l’erreur induite par le dernier check-in de ses collaborateurs.
Voici par exemple un message d’erreur retourné lors de la build d’une application UWP
Your project.json doesn't have a runtimes section. You should add '"runtimes": { "win10": { } }' to your project.json and then re-run NuGet restore.
Ce message nous vient tout droit d’une époque lointaine et révolue. Aujourd’hui, les nouveaux projets UWP ne contiennent plus de fichiers project.json.
Alors, comment s’en sortir ? D’où vient cette erreur ?
Le problème est lié à la l’architecture de la plateforme ciblée.
Dans le cas présent, Any CPU
est choisi pour la compilation.
Actuellement, avec UWP on doit obligatoire en cibler une (x86
, x64
, ARM
). Pour une application, Any CPU
n’est plus supporté. Il reste cependant supporté pour les références.
La solution
Il convient donc de changer la cible pour une autre. Exemple :
Si la solution consiste en un projet cross-plateforme, il convient donc d’être attentif aux architectures ciblées.
Voici un exemple de ce que cela doit donner quand on consulte le Configuration Manager
.
Conclusion
Si l’un de vos collègues a la mauvaise idée de supprimer x86, x64 et ARM sous prétexte qu’il n’en a pas besoin pour son application « car c’est plus simple comme ça », prenez le temps de lui expliquer calmement qu’il n’est pas seul ;)