Quelle option dois-je choisir pour assembler des assemblages sur une plaquette 64 bits pour un serveur de plateforme 32 bits. Comme actuellement, j'essaie de publier sur un serveur 32 bits. J'utilise VS2005 sur une machine Windows Vista pour construire mon projet et ensuite publier sur le serveur mais je reçois des erreurs. Toute idée comment puis-je résoudre ce problème. Dois-je utiliser l'option AnyCPU sur une machine 64 bits ou une option de plateforme mixte. Aussi l'option de x86 est désactivée et je ne sais pas pourquoi.Compléter des assemblages sur une plaquette 64 bits pour un 32bit
Répondre
En supposant que vous travaillez dans un langage géré, puis compilez à 'AnyCPU' devrait être multiplate-forme (64/32 bits), parce que l'IL généré n'est pas transformé en instructions machine jusqu'à ce que le code soit JITted quand il est exécuté. Il y a quelques exceptions où vous pouvez obtenir des dépendances de type bit-ness si vous utilisez certaines constructions qui dépendent de la taille des pointeurs, etc. mais elles ne sont généralement pas incluses dans votre code, exécutez FxCop sur votre code pour vous assurer (il y a une section dans FxCop traitant de la portabilité qui couvre ces problèmes)
Utilisez AnyCPU. Tant que votre assembly n'a pas de dépendances non managées directes ou de dépendances sur des assemblys marqués pour une CPU spécifique, alors votre assembly fonctionnera correctement sur 64 ou 32 bits
Quels types d'erreurs obtenez-vous sur le serveur? – jerryjvl
Exception System.NullReferenceException: référence d'objet non définie sur une instance d'un objet. à BP.Generic (Conversation pGalConversation) dans C: \ Soe \ IS \ Générique \ BP \ BP.vb: ligne 797 à Generic (Conversation pGalConversation) – sam
En compilant l'option utilisant AnyCPU. cela fonctionne bien sur le serveur de test, mais échoue sur le serveur live – sam