Domanda

Sto avendo un piccolo problema con l'automazione Photoshop CS4. Quando voglio aggiungere un riferimento alle API COM nel mio progetto di Visual Studio 2008, la libreria di oggetti Adobe Photoshop non compare nel pannello "Aggiungi riferimento" nella scheda "COM". Tuttavia, la libreria dei tipi Illustrator CS4 presentarsi bene. Photoshop sé funzionare perfettamente, sia nel sapore 32 e 64 bit. Photoshop è stato installato insieme ad ogni altra applicazione del Master Suite CS4.

Questo non ha funzionato sia su Windows 7 e Windows XP, il 2 macchina diversa + 1 PC virtuale (Vmware workstation). Ho anche provato nel VS2010 Beta 1 e l'editor di MS Word VB, ma non ha funzionato neanche qui.

Qualcuno ha mai pensato? Se tu fossi in grado di aggiungere un riferimento, quello che era la configurazione?

È stato utile?

Soluzione

Non c'è bisogno di creare una macchina virtuale, c'è un problema con alcune versioni di Photoshop in quanto il COM non mostra, per correggere questa corsa Photoshop come amministratore (solo una volta) e questo sarà correggere le voci di registro e il COM sarà quindi disponibile.

Altri suggerimenti

Alla fine, la soluzione era quella di utilizzare una macchina virtuale Windows XP con un'installazione autonoma di Photoshop (invece di tutta la Creative Suite). Si può usare per generare una DLL che funziona su qualsiasi Windows con qualsiasi installazione di Photoshop CS4 (stand-alone o la suite creativa).

EDIT: Ecco l'intero processo

creare una macchina virtuale Windows XP con la soluzione di virtualizzazione preferita (Vmware, VirtualBox, VirtualPC, ecc). Installare Visual Studio 2008 e un'installazione autonoma di Photoshop CS4 (l'intero abiti creativi non hanno funzionato nel mio caso, ma la vostra situazione potrebbe essere diversa). Aprire Visual Studio e creare sia una nuova VB.NET o libreria di classi C. Una volta fatto questo, fare clic destro sulla cartella "di riferimento" nella soluzione Explorer e selezionare Aggiungi riferimento. Vai alla scheda COM, e cercare "libreria dei tipi di Adobe Photoshop CS4". Questo aggiungerà due nuove referenze: "Photoshop" e "PhotoshopTypeLibrary". Creare una funzione fittizia (benche non può essere richiesto) e costruire il vostro progetto. Come un buon mesure, è possibile assicurarsi che la modalità di compilazione è impostato su "liberare", ma questo non è richiesto, eseguire il debug funzionerà bene. Una volta che il progetto è costruito, andare alla cartella di progetto sul disco rigido virtuale e cercate la cartella bin \ release. Vi si possono vedere 3 dll: uno che prende il nome il progetto, uno di nome Photoshop.dll e un altro namde Interop.Photoshop.dll. Copiare gli ultimi due sulla vostra macchina developpement con Windows 7 x64. È quindi possibile importare nel progetto con l'aggiunta di riferimenti e la navigazione a quelle 2 dll.

Una cosa molto dolce che ho notato è che benche la dll sono state compilate su un 32 bit VM, avrebbero ancora chiamare la versione a 64 bit di Photoshop se il programma .NET gestito in modalità a 64 bit.

Spero che aiuta!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top