Okt 082008
 

Wie oft habe ich nun diese Fehlermeldung schon bekommen. Es ist unglaublich.

Ich portiere zur Zeit ein Office 2003/2007 Add-In, dass mit VSTO entwickelt wurde, nach Office 2002/XP. Dort ist nicht mehr die VSTO aktuell sondern die PIA’s (Primary Interop Assemblies) für Office XP. Im grossen und ganzen wird das Add-In einfach anders geladen. Vor allem darf man mit dem Extensibility.IDTExtensibility2 Interface arbeiten. Den restlichen Code kann man 1 zu 1 übernehmen.

Das Add-In wird im Office als ganz normales COM Add-In registriert und auch als solches behandelt. Genau das verursacht nun diverse Probleme die umschifft werden müssen.

Die .NET Laufzeit sucht in dieser Konstellation die diversen beteiligten Verweise im Ausführungsverzeichnis von der startenden Office-Anwendung. Das ist dann meist im Ordner “C:\Programme\Microsoft Office\Office10”. Dort sind die Assemblies aber nicht vorhanden. Was kann man dagegen tun?

Zum Beispiel hilft diese Datei, die man genau in den besagten Order tut, bei Word schon einiges. Die Datei heisst WINWORD.EXE.config und hat folgenden Inhalt.

<?xml version="1.0"?>
<configuration>
    <startup>
        <supportedRuntime version="v2.0.50727"/>
    </startup>
</configuration>

Das erleichtert einem schon einiges. Die Standard-Assemblies werden so gefunden.

Aber beim BinaryFormatter greift auch das nicht. Hier muss man es anders Lösen.

Hier kommt die Meldung, dass die Assembly für den Typ LicenseCollection nicht gefunden werden kann. Das ist dann natürlich sehr ärgerlich.

Hier habe ich dann die Lösung gefunden.

So wird die Assembly gefunden.

Und wieder ein Problem weniger. Ab zum nächsten. 🙂

Sorry, the comment form is closed at this time.