> Tech > Dossier Développement : 5 conseils pour bien développer sous Windows 64 bits

Dossier Développement : 5 conseils pour bien développer sous Windows 64 bits

Tech - Par Bill McCarthy - Publié le 11 mars 2011
email

Les ordinateurs conçus pour le 64 bits sont partout. Il est donc temps pour vous d’envisager la prise en charge du 64 bits lorsque vous développer vos applications Visual Basic.

L’époque où l’informatique 64 bits avait une connotation exotique est révolue depuis longtemps. Désormais, les clients et serveurs conçus pour le 64 bits sont partout, et ils peuvent gérer une quantité incroyable de RAM et exécuter des versions 64 bits de Windows. Le montage vidéo, les graphismes, la modélisation 3D et les applications fortement consommatrices de données constituent quelques exemples seulement des logiciels qui bénéficient de cette évolution des systèmes d’exploitation et des plates-formes matérielles. Que vos applications ou composants aient ou non besoin de la mémoire adressable supplémentaire offerte par les architectures 64 bits, votre principal souci est que vous puissiez continuer de les utiliser sur les versions 64 bits de Windows. Voici cinq conseils pour vous aider à développer des applications dans cette optique.

Dossier Développement : 5 conseils pour bien développer sous Windows 64 bits


Bien trop souvent, les développeurs rencontrent le message suivant : « An unhandled exception of type ‘System. BadImageFormatException’occurred. » Si vous explorez les détails de ces exceptions, vous allez probablement trouver d’autres informations du type : « An attempt was made to load a program with an incorrect format. » Ce problème survient lorsqu’un processus 64 bits essaie de charger un assembly 32 bits ou inversement. Bien que vous puissiez exécuter des processus 64 bits et 32 bits sur Windows x64, le code 64 bits et le code 32 bits ne peuvent pas s’exécuter dans le même processus.

Il doit être entièrement 64 bits ou 32 bits, et cela vaut pour tous les assemblys chargés. Visual Studio (VS) 2005 avec .NET 2.0 a introduit l’option de compilation des applications .NET vers la plate-forme 32 bits (x86) ou 64 bits (x64 ou Itanium), ainsi qu’une option de définition de la sortie vers « Any CPU », qui est la plate-forme par défaut. Si un assembly est compilé avec « Any CPU » comme plate-forme, il s’exécutera en 32 bits ou 64 bits selon le processus qui le charge. Avec cette option, le même assembly peut s’exécuter en 32 bits ou 64 bits sur un OS Windows 64 bits .En fait, ce n’est pas réellement le processeur ou l’OS qui dictent le recours ou non au 64 bits, mais le processus appelant. Pour résoudre les problèmes d’exception d’image incorrecte, modifiez la plate-forme cible sur tous vos assemblys en « Any CPU ». Si, pour une raison ou une autre, cette opération est impossible, par exemple si un assembly est fourni sans source, sélectionnez la même plate-forme, à savoir x86 ou x64, pour tous les assemblys. Si vous avez des assemblys.NET 1.0 ou 1.1, il vaut mieux les recompiler avec .NET 2.0. Si la recompilation des assemblys .NET 1.0 ou 1.1 est impossible, compilez votre autre code pour la plate-forme x86, afin de garantir sa compatibilité.

Ayez à l’esprit que dans VS 2005 et 2008, si vous utilisez le profil « Visual Basic Development Setting », le changement de plate-forme est plutôt compliqué. Le problème tient probablement aux retours d’informations de l’équipe VB selon lesquels les utilisateurs ont trouvé les différents paramètres dans Visual Studio perturbants par rapport à ceux de VB6. Le résultat a été que la version de VB dans Visual Studio a été rabaissée quasiment au point d’être aussi limitée que la boîte de dialogue Make dans VB6. La bonne nouvelle est que vous pouvez prendre les choses en main. La correction la plus simple pour vous faciliter l’accès aux configurations de build et de plate-forme consiste à adopter « General Development Settings » au lieu de « Visual Basic Development Settings ». Il est également possible de changer les options « Project and Solutions » dans le menu Tools … Options, en veillant à ce que l’option « Show advanced build configurations » soit sélectionnée. Ensuite, personnalisez une de vos barres d’outils afin d’inclure les zones de liste déroulante « Solutions Configurations » et « Solution Platforms ».

Une fois qu’elles sont activées, vous pouvez sélectionner « Configuration Manager » dans la liste déroulante « Solutions Configurations » ou « Solution Platforms ». Ce faisant, la fenêtre Configuration Manager apparaît et vous permet d’ajouter ou de modifier vos configurations. Les configurations vous permettent de réaliser des build spéciales, notamment pour les tests, ou de forcer la construction de certains des projets dans une solution multi-projets. Pour chaque configuration, il est possible de gérer différentes plates-formes.

Pour ajouter une plate-forme x86 ou x64 à partir de la liste « Active Solution Platform » dans Configuration Manager, sélectionnez « <New…> », puis x86 ou x64 et copiez les paramètres de « Any CPU ». Ensuite, vous pouvez modifier ces paramètres pour chaque projet individuel, au moyen de l’onglet de compilation des propriétés du projet et de la boîte de dialogue de compilation avancée. Si vous n’êtes pas familiarisé avec les configurations de build, consultez les rubriques « Build Configurations », « Build Platforms » et « Configuration Manager Dialog Box » dans l’aide en ligne de VB. Les configurations de build amélioreront considérablement votre travail de développement.

Téléchargez gratuitement cette ressource

Les 7 étapes d’un projet de dématérialisation RH

Les 7 étapes d’un projet de dématérialisation RH

Dans ce livre blanc, nous vous donnons les clés pour concevoir votre projet de dématérialisation RH. Vous découvrirez chacune des étapes qui vous permettront d’apporter de nouveaux services aux collaborateurs, de vous adapter aux nouvelles pratiques et de renforcer la marque employeur.

Tech - Par Bill McCarthy - Publié le 11 mars 2011