Frage

Ich habe ein kleines Problem mit Photoshop CS4 Automatisierung. Wenn ich einen Verweis auf den COM-API in meinem Visual Studio 2008-Projekt hinzufügen mag, wird die Adobe Photoshop-Objektbibliothek zeigt sich nicht in der „Add References“ Panel unter der „COM“ Registerkarte. Allerdings zeigen die Illustrator CS4 Typ Bibliothek up just fine. Photoshop sich perfekt, sowohl in der 32- und 64-Bit-Geschmack laufen. Photoshop wurde zusammen mit allen anderen App der Master Suite CS4 installiert ist.

Das hat nicht funktioniert sowohl unter Windows 7 und Windows XP, auf 2 verschiedene Maschine + 1 virtueller PC (Workstation). Ich versuchte es auch in der VS2010 Beta 1 und dem MS Word VB-Editor, aber es hat auch hier nicht arbeiten.

Jeder hat einen Gedanken? Wenn Sie in der Lage sind, einen Verweis hinzuzufügen, was war Ihre Konfiguration?

War es hilfreich?

Lösung

Es besteht keine Notwendigkeit eine virtuelle Maschine zu erstellen, gibt es ein Problem mit einigen Versionen von Photoshop in wie viel die COM zeigen nicht, diesen Lauf Photoshop als Administrator zu korrigieren (nur die einmal), und dies wird die Registrierungseinträge korrigiert und die COM wird dann zur Verfügung stehen.

Andere Tipps

Am Ende war die Lösung eine Windows XP Virtual Machine mit einer eigenständigen Installation von Photoshop (statt der gesamten Creative Suite) zu verwenden. Sie können es verwenden, um eine DLL, die bei jeder Installation von Photoshop CS4 (Standalone oder der Creative Suite) auf jedem Windows arbeiten, um zu erzeugen.

EDIT: Hier ist der gesamte Prozess

Erstellen eine virtuelle Windows XP-Maschine mit Ihrer Lieblings-Virtualisierungslösung (Vmware, VirtualBox, VirtualPC usw.). Installieren Sie Visual Studio 2008 und eine eigenständige Installation von Photoshop CS4 (Die ganzen kreativen Anzüge nicht in meinem Fall gearbeitet, aber die Leistung kann variieren). Öffnen Sie Visual Studio und erstellen Sie entweder ein neues VB.NET oder C # Klassenbibliothek. Sobald dies erledigt ist, klicken Sie rechts auf die „Referenz“ Ordner im Projektmappen-Explorer, und wählen Sie Verweis hinzufügen. Gehen Sie auf die Registerkarte COM, und die Suche nach „Adobe Photoshop CS4 Typbibliothek“. Dies wird zwei neue Referenzen hinzufügen: „Photoshop“ und „PhotoshopTypeLibrary“. Erstellen Sie eine Dummy-Funktion (altough es nicht erforderlich sein kann) und bauen Ihr Projekt. Als guter mesure, können Sie sicherstellen, dass der Kompilierung-Modus auf „Freigabe“, aber dies ist nicht erforderlich, wird Debug gut funktionieren. Sobald Ihr Projekt builded wird, gehen Sie zu Ihrem Projektordner auf Ihrer VM-Festplatte und suchen Sie nach dem bin \ Release-Ordner. Dort sehen Sie 3 dll: eine nach dem Projekt mit dem Namen, eine namens Photoshop.dll und anderen namde Interop.Photoshop.dll. Kopieren Sie die beiden letzten auf Ihrem developpement Maschine mit Windows 7 x64. Anschließend können Sie sie in Ihrem Projekt importieren, indem ein Referenz hinzufügen und gerade für diejenigen 2 dll.

Eine sehr süße, was mir auffiel war, dass altough die DLL auf einem 32-Bit-VM erstellt wurden, würden sie immer noch die 64-Bit-Version von Photoshop aufrufen, wenn Ihre .NET-Programm in 64-Bit-Modus runned.

Ich hoffe, es hilft!

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