Frage

Ich habe eine .NET-Anwendung, die eine COM-Komponente verwendet. Die Anwendung selbst ist "Any CPU", aber die COM-Komponente verfügt über eine 32-Bit und 64-Bit-Version.

Der Artikel http://msdn.microsoft.com/en-us /magazine/cc188708.aspx ist klar, was für die Registrierung frei COM zu tun. Aber was soll man tun für:

  • "Any CPU" app
  • abhängige Assembly:
  • Assembly1 verwendet COM-Komponente "Foo", foo eine 32-Bit und 64-Bit-Version mit dem gleichen Dateinamen hat (wir Foo nicht schaffen, sie von einem Dritten hergestellt wurde).

Eine Möglichkeit, die funktionieren wurde, ist separate Anwendung Manifeste für 32-Bit-Version zu erstellen und für 64-Bit-Version. Auf diese Weise kann jede Manifest-Datei die richtige Größe und Hash für die COM-Komponente enthalten. Ich möchte dies zu vermeiden, though.

Es ist möglich, dies irgendwie ohne Ärger in Visual Studio einrichten? Ist es möglich, einen einzelnen Ordner (mit x64, x86 Unterordner für die COM-Komponente) zu haben, in denen die Anwendung sowohl beiden Plattformen nahtlos ausgeführt werden?

Alle Zeiger in die richtige Richtung wäre sehr dankbar! Ich bin wahrscheinlich nur ein paar einfachen Schalter mit Blick oder Einstellung irgendwo.

War es hilfreich?

Lösung

Das processor Element können Sie einen <assemblyIdentitiy> schreiben, die spezifisch ist. In zwei von ihnen, eine, die „x86“, die anderen „amd64“ verwendet. Es wird in diesem (sehr schlecht) dokumentiert MSDN Library-Artikel .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top