Unsere App hat Funktionen hinzugefügt, mit denen Benutzer bestimmte Informationen aus einer Excel-Tabelle importieren können (alle Benutzer haben bereits Office 2007).
Der Entwicklungscomputer hat Office 2007 und der Entwickler hat einen Verweis auf Microsoft.Office.Interop.Excel hinzugefügt - alles war gut.
Auf dem Buildcomputer ist Office 2007 jedoch nicht installiert. Wenn der Build auf dem Buildcomputer ausgeführt wird, erhalten wir den folgenden Erstellungsfehler: "Der Typ oder Namespace" Office "existiert nicht im Namespace" Microsoft "(fehlt Ihnen ein Assemblyverweis?)"
Ich habe die Office 2007-Primärinterop-Assemblys-Version heruntergeladen. Aber wenn ich diese MSI auf dem Build-Rechner starte, bekomme ich eine Meldung mit der Nachricht "Bitte installieren Sie Microsoft Office 2007 vor der Installation dieses Produkts"
Ist es wirklich notwendig, Office 2007 auf dem Erstellungscomputer zu installieren? Gibt es einen anderen Weg?
Stellen Sie sicher, dass die Assembly Microsoft.Office.Interop.Excel
mit dem Quellcode eingecheckt ist und dass das VS-Projekt sie aus der Quellenstruktur referenziert und nicht von GAC
.
Nachdem Sie das erledigt haben, brauchen Sie sicher nicht, dass MS Office auf dem Build-Rechner installiert wird, aber Sie benötigen es, damit die Anwendung ausgeführt werden kann.
Bitten Sie Ihre Entwickler, alle DLL-Abhängigkeiten zu überprüfen. Dies ist ein klarer Fall von "es funktioniert auf meiner Maschine", wo Sie die Entwickler zu der Maschine ziehen müssen, wo es nicht funktioniert und darauf hinweisen, dass ihre Dokumentation in der "Dependencies-Abteilung" fehlt. Wenn Sie Zugriff auf den Quellcode haben oder ILSpy auf den Assemblys ausführen können, können Sie dies wahrscheinlich selbst nachverfolgen.
Sicher ist, dass Sie einfach Excel installieren, aber das ist das Problem mit einem Vorschlaghammer. Deine Entwickler SOLLTEN wissen, was wirklich benötigt wird .....
Tags und Links visual-studio-2010 msbuild ms-office office-interop