Frage

Ich bin derzeit versucht, auf Teamcity zu bauen, die Microsoft.Office.Interop dll verwendet. Dies wird bauen und funktioniert lokal wie ich Office installiert, aber wenn es auf Teamcity zu bauen versucht, es nicht, da es keinen Bezug hat.

Ich kann die PIA ausschüttbaren nicht installieren, da ich eine Fehlermeldung, dass das Office 2003 muss installiert werden. Ich möchte nicht, Office auf dem Server installieren.

Gibt es eine Möglichkeit, dies zu umgehen?

War es hilfreich?

Lösung

Wenn alle Teamcity-Server tut ein Build ist, dann fügen Sie den Microsoft.Office.Interop DLL zu einem Ordner Verweis für das Projekt, und konfigurieren Sie Ihr Projekt in sehen, dass verweist Ordner.

Wenn jedoch der Teamcity-Server auch Tests ausgeführt wird, auf dem Office Interop verwenden, dann werden Sie auf Probleme stoßen, es sei denn, Sie haben Office auf dem Rechner installiert, die Tests ausgeführt werden.

Andere Tipps

Nicht wirklich - das Interop-DLL ist nur eine Thunk Schicht zwischen Ihrem .NET-Code und dem tatsächlichen (COM) Office-Code. Wenn Sie die Interop DLL ohne die zugrunde liegende Office-DLL haben, dann werden alle Anrufe in die Interop fehl, weil das Interop wird die COM-Objekte aufrufen wollen es macht interoperabel.

Diese COM-Objekte sind Office-Objekte, so dass Sie einen Teil von Office müssen installiert sein.

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