Question

J'ai une application .NET qui utilise un composant COM. L'application elle-même est "Any CPU", mais le composant COM a un 32 bits et la version 64 bits.

L'article http://msdn.microsoft.com/en-us /magazine/cc188708.aspx est clair sur ce qu'il faut faire pour COM sans inscription. Mais que doit-on faire pour:

  • app "Any CPU"
  • Assemblée à charge:
  • Assembly1 utilise un composant COM « Foo », foo a 32 bits et la version 64 bits avec le même nom (nous n'avons pas créé Foo, elle a été faite par un tiers).

Une façon qui fonctionnerait est de créer des applications distinctes se manifeste pour la libération de 32 bits et pour version 64 bits. De cette façon, chaque fichier manifest peut contenir la taille correcte et hachage pour le composant COM. Je voudrais éviter cela, cependant.

Est-il possible, en quelque sorte de mettre cela dans Visual Studio sans tracas? Est-il possible d'avoir un seul dossier (avec x64, x86 pour les sous-dossiers du composant COM) où l'application fonctionnera de façon transparente les deux plates-formes?

Les pointeurs dans la bonne direction serait grandement appréciée! Je suis probablement juste une vue sur simple interrupteur ou réglage quelque part.

Était-ce utile?

La solution

L'élément processorArchitecture vous permet d'écrire un <assemblyIdentitiy> qui est spécifique. Ajoutez deux d'entre eux, qui utilise « x86 », l'autre « amd64 ». Il est documenté dans ce (très mauvais) article MSDN Library .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top