2010-06-10 5 views
2

Visual Studio C# 2008 Windows XP 32 bitscompilant visual studio projets C# sur 32 bits et 64 bits

j'ai développé un projet Windows en utilisant VS C# 2008. Ma machine est 32 bits. J'ai donc compilé mes applications sous 32 bits. Cependant, un de nos clients a confirmé qu'il ne peut pas installer sous visa sur une machine 64 bits.

Je me demande simplement parce que j'ai compilé sous une machine 32 bits. Va-t-il encore installer sur une machine 64 bits.

Juste quelques questions supplémentaires. Quand je compile en mode 32 bits. Il utilise les bibliothèques Windows 32 bits. Et ces bibliothèques ne peuvent pas être trouvées sur une machine 64 bits?

Pour que cela fonctionne, vais-je devoir compiler 2 versions une pour 32 bits et 64 bits?

Un grand merci pour tous les conseils,

Répondre

4

Les bibliothèques 32 bits seront sur 64 versions binaires de Windows. En règle générale, vous devriez cibler "Any CPU" avec vos projets C# pour éviter les problèmes spécifiques à la plate-forme. Vous devriez revoir vos dépendances pour voir si certaines d'entre elles sont spécifiques à 32 bits. Vous pouvez utiliser CorFlags pour vérifier le bitness de chaque binaire.

Voici un bon point de départ dans la documentation MSDN concernant le développement d'applications 64 bits: 64-bit Applications.

+4

En fait, si vous rencontrez des problèmes spécifiques à la plate-forme, car vous avez une dépendance d'exécution à une DLL 32 bits pure, vous ne devez pas utiliser "Any CPU", mais "x86". "Any CPU" fait fonctionner votre programme en mode 32 bits dans un environnement 32 bits, et en mode 64 bits dans un environnement 64 bits, sans avoir besoin de deux versions différentes. Mais cela ne fonctionne que si votre programme est un code "pur géré" sans aucune dépendance externe directe et non gérée. –

1

il devrait fonctionner soit sur 32 comme 64bit aussi longtemps que vous ne faites que des choses gérées dans votre code ...

Questions connexes