Loupe

Netduino et la Build error 0x80131700 du MicroFramework

Si, comme moi, vous souhaitez utiliser votre NetDuino mais que vous rencontrez le code d’erreur 0x80131700 lors de la compilation, voici une explication ainsi que 2 solutions.

 

Tout d’abord, essayons de comprendre ce qui se passe lorsque nous compilons notre programme. Le Post processeur du MicroFramework utilise l’exe suivant : MetaDataProcessor.

Hors ce MetaDataProcessor nécessite la CLR .NET 2.0

Malheureusement, selon la version de votre Visual Studio et de votre Windows, vous n’avez pas forcément cette CLR.

 

La solution la plus simple est d’installer le Microsoft .NET Framework 3.5 Service Pack 1 car celui-ci embarque la .NET CLR 2.0 tant demandée.

Je n’aime pas cette solution car elle nous oblige à utiliser le bazooka pour tuer la petite mouche, mais c’est efficace.

 

La deuxième solution que je vous propose est d’indiquer au MetaDataProcessor la version .NET à utiliser. Et oui, il sait le faire mais il n’est pas assez malin pour deviner que si vous n’avez que .NET 4.0 c’est bien celui-là qu’il doit utiliser. Aidons-le.

Dans votre dossier d’installation du MicroFramework (ie C:\Program Files (x86)\Microsoft .NET Micro Framework\ par exemple), vous trouverez les versions dont vous disposez et que vous pouvez cibler lors de la compilation de votre projet.

Imaginons alors que nous ciblons v4.3, il faut donc ajouter dans le dossier C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Tools, un nouveau fichier MetaDataProcessor.exe.config, qui se placera donc à côté du MetaDataProcessor.exe .

Dans ce fichier nous ajouterons le contenu suivant :

 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>    
    <startup useLegacyV2RuntimeActivationPolicy="true">        
        <supportedRuntime version="v4.0.30319"/>   
    </startup> 
</configuration>

 

Voilà, notre problèmes est réglé et nous pouvons lancer la compilation sans erreur cette fois-ci, sans même avoir à quitter Visual Studio.

Cette opération sera à répéter dans chaque dossier de version du MicroFramework que vous ciblerez.

 

Let’s code !

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus