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.

uwpanycpu02

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 :

uwpanycpu03

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.

uwpanycpu04

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 ;)

Jérémy Jeanson

Comments

You have to be logged in to comment this post.