Handling für DLL mit Zugriffsfunktionen auf Excel?

07/01/2009 - 14:01 von WolfgangH | Report spam
Hallo Leute,

ich erstelle eine DLL, in der unterschiedliche Funktions-"Familien"
enthalten sind.
Beispiel: Mathematik, Graphik usw. (jeweils in separaten source-Files)

Jetzt möchte ich eine Funktionsgruppe für Zugriffe auf Excel-Dateien
hinzufügen. Dazu binde ich den Verweis Microsoft.Office.Core ein und verwende
die using-directive Microsoft.Office.Interop.Excel.

Frage:
Bekomme ich dann Probleme, falls Excel auf einem Zielsystem nicht
installiert sein sollte, auch wenn ich dort die Funktionen nicht verwenden
würde?
Wenn ja, wie geht man damit um? (2 DLLs pflegen? eine mit/eine ohne Excel?)

Danke schon mal
Wolfgang
 

Lesen sie die antworten

#1 Günter Prossliner
07/01/2009 - 16:17 | Warnen spam
Hallo Wolfgang!

ich erstelle eine DLL, in der unterschiedliche Funktions-"Familien"
enthalten sind.
Beispiel: Mathematik, Graphik usw. (jeweils in separaten source-Files)

Jetzt möchte ich eine Funktionsgruppe für Zugriffe auf Excel-Dateien
hinzufügen. Dazu binde ich den Verweis Microsoft.Office.Core ein und
verwende die using-directive Microsoft.Office.Interop.Excel.

Frage:
Bekomme ich dann Probleme, falls Excel auf einem Zielsystem nicht
installiert sein sollte, auch wenn ich dort die Funktionen nicht
verwenden würde?



Das Interop Assembly solltest Du mit ausliefern (am besten natürlich über
die Installation der Office PIA's).

Da das Interop-Assembly nur eine Brücke zum eigentlichen Excel COM Interface
und in weiterer Hinsicht zu der Excel Installation darstellt, hast Du kein
Problem wenn dieser COM Server nicht vorhanden ist, solange Du keine
Funktionen aufrufst.

Wenn ja, wie geht man damit um? (2 DLLs pflegen? eine mit/eine ohne
Excel?)



Ich würde in diesem Fall schon zwei verschiedene Libraries erstellen und
warten (ausser es gibt nur sehr wenige Projekte, welche die Excel Anbindung
NICH verwenden), allein schon aus dem Grund nicht viele unnötige (indirekte)
Referenzen in Projekten zu haben, welche die Excel Funktionen nicht
verwenden.


mfg GP

Ähnliche fragen