none
Fragen zu COM und Primary Interop Assemblies RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    ich schreibe gerade ein Programm, mit dem ich auf Excel Tabellen arbeite. Dabei ist mir folgendes aufgefallen und es sind Fragen entstanden bzgl. den Referenzen im Visual Studio Projekt. Möchte hier den Ablauf schildern, wenn etwas nicht stimmt, bitte korrigieren :-)

    Es ist doch so, dass bei einer Excel Installation die Microsoft.Office.Interop.Excel.dll im GAC unter C:\Windows\assembly abgelegt wird. Wenn ich jetzt ein Visual Studio Projekt habe, wo ich mit Excel Dateien arbeiten möchte, ziehe ich aber bei den Referenzen die Primary Interop Assembly Microsoft.Office.Interop.Excel.dll heran. Diese Finde ich auch unter dem Eintrag Extensions. Unter dem Eintrag COM finde ich auch eine Microsoft.Office.Interop.Excel.dll. Allerdings erhalte ich dann immer eine Warning in Visual Studio, dass die DLL nicht geladen werden konnte.

    Nun kann ja zu einer COM Komponente eine Primary Interop Assembly erstellt werden, um diese in .NET zum laufen zu bringen. Was mich wundert ist, dass die Primary Interop Assembly für Excel unter folgendem Pfad liegt:

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Excel.dll

    Wird dann dennoch die DLL aus dem GAC trotzdem herangezogen ? Und was passiert wenn ich mein Programm auf Rechnern laufen lasse, die kein Visual Studio installiert haben, die besitzen doch dieses Verzeichnis und damit die Primary Interop Assembly nicht ?

    Würde mich freuen, wenn mir jmd weiterhelfen kann. :-)

    Vielen Dank & schöne Grüße

    Kevin

    ------------------------------------------

    Visual Studio 2013 Update 4
    Windows 7 64 bit

    Edit:

    Habe einen schöne Dokumentation im MSDN gefunden der mir schon ein paar Fragen beantwortet und was richtig stellt:

    Link

    Die neue Frage, die sich mir stellt ist, ob die Primary Interop Assembly auf Excel COM Objekte verweist? Und ob diese auch im GAC liegen ?


    Dienstag, 8. Dezember 2015 22:49

Alle Antworten

  • Hallo Kevin,

    Und was passiert wenn ich mein Programm auf Rechnern laufen lasse, die kein Visual Studio installiert haben, die besitzen doch dieses Verzeichnis und damit die Primary Interop Assembly nicht ?

    In diesem Fall müssen die verteilbaren Visual Studio Tools for Office Runtime auf dem Rechner installiert werden.
    Gewusst wie: Installieren der verteilbaren Visual Studio Tools for Office Runtime

    Ich hoffe, dass jemand, der mit VSTO Erfahrung hat, Deine restlichen Fragen beantworten kann.

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 9. Dezember 2015 21:43
    Moderator