none
Seltsames Verhalten von Plugins auf 32-bit / 64-bit-Systemen - CRM und Sharepoint RRS feed

  • Frage

  • Hallo zusammen.

    Kürzlich hatte ich bei einem Kundenprojekt eine Aufgabe zu erledigen, die am einfachsten per Plugin zu realisieren war. Das Plugin war auf meinem Entwicklungssystem auch schnell entwickelt. Es ging um eine Integration von CRM 4.0 und Sharepoint 2007. Zur Erledigung wurden die APIs von CRM und Sharepoint benötigt.

    Auf meinem Entwicklungssystem (CRM 4.0 & Sharepoint englisch, 32 bit) lief alles, auf dem Zielsystem (CRM 4.0 englisch, Sharepoint deutsch, 64 bit) lief nichts. Keine der APIs war ansprechbar, beide lieferten kurioseste Fehlermeldungen. Ich konnte die Aufgabe schließlich mit den Sharepoint-Webservices und einer unabhängigen Web Application, die ich per ISV.Config ins CRM integrierte, lösen. Trotzdem interessiert mich das hier weiter.

    Ich habe früher schon Features für Sharepoint erfolgreich zwischen 32-bit und 64-bit-Installationen portiert, von daher wundert mich das Verhalten. Ist es generell nicht möglich, Entwicklungen zwischen 32-bit und 64-bit-Installationen zu portieren oder muss man dafür noch irgendeinen Schritt durchführen oder hat dieses Verhalten irgendeinen anderen Hintergrund?
    Mittwoch, 19. August 2009 14:13

Antworten

  • Hallo,

    wie sehen denn die eingesetzten Elemente aus? Auf das CRM-System hast du vermutlich per Plugincontext zugegriffen?
    Wie wurde der Zugriff auf Sharepoint realisiert. Gibts da fertige Webserviceproxys oder wurden diese per WSDL generiert?

    Beim referenzieren der CRM-SDK muss man etwas aufpassen. Die Assemblies im Ordner bin sind 32Bit-Assemblies. Um flexibel zu sein sollte man die Assemblies im Verzeichnis bin\64bit verwenden. Diese sind entgegen dem Namen architekturneutral, sprich Plattform 'Any CPU'

    Unter .NET muss man eigentlich nicht großartig auf die Architektur achten, wenn alle eingesetzten Komponenten gegen die Plattform 'Any CPU' übersetzt werden.
    Auf einem 32Bit-System laufen diese dann in einem 32Bit-Prozess, auf 64Bit entsprechend in einem 64Bit-Prozess. Wichtig ist jedoch auch, dass in einem 64Bit-Prozess keine 32Bit-Komponenten geladen werden können.
    Mittwoch, 19. August 2009 14:38