Question Différentes références d'assembly .NET dépendant de 32-64 bits [dupliquer]


Cette question a déjà une réponse ici:

J'ai un assemblage .NET 32 bits et 64 bits d'un fournisseur. Ils ont exactement les mêmes interfaces en eux (mêmes classes, mêmes méthodes, etc.)

Pour une raison quelconque, je ne peux jamais exécuter un type sur l'autre plate-forme. Ce que j'ai fait jusqu'ici est simplement de supprimer les références, puis de les recompiler si nécessaire.

Y a-t-il un moyen plus simple de le faire?

MODIFIER

Je pensais que SVN pourrait être coopté pour résoudre ce problème d'une manière ou d'une autre?

MODIFIER

Les assemblées ne sont pas dans GAC. Et aussi, le besoin se pose parce que je construis le même programme sur les deux plates-formes, plutôt que d'essayer d'exécuter quelque chose construit sur une plate-forme de l'autre.


11
2017-11-16 15:37


origine


Réponses:


peut-être que cela aide: Référence conditionnelle dans VS 2010

MODIFIER: voici une meilleure description: Utiliser conditionnellement une référence 32/64 bits lors de la création dans Visual Studio


8
2017-11-16 15:45



Vous ne pouvez pas avoir la même application en utilisant des assemblages mixtes. Vous ne pouvez utiliser que le même type d'assembly x86 ou x64.

Vous ne pouvez pas exécuter l'application x64 sur un système d'exploitation 32 bits, mais de toute façon, il est possible d'utiliser IS.


1
2017-11-16 15:41



Dites à votre fournisseur de compiler avec l'indicateur AnyCPU et de résumer tous ses appels internes dépendants de la plate-forme par programme au lieu de demander au consommateur de le faire pour eux.

S'ils ne le font pas, vous pouvez écrire votre propre proxy en utilisant la réflexion, mais je ne le recommande pas. Maintenir cette composante au fil du temps serait douloureux.


1
2017-11-16 15:44