Как добавить ссылку на Photoshop CS4 COM в C # - PullRequest
4 голосов
/ 21 июля 2009

У меня небольшая проблема с автоматизацией Photoshop CS4. Когда я хочу добавить ссылку на COM API в моем проекте Visual Studio 2008, библиотека объектов Adobe Photoshop не отображается на панели «Добавить ссылки» на вкладке «COM». Тем не менее, библиотека типов Illustrator CS4 обнаруживается просто отлично. Сам фотошоп работает отлично, как в 32-х, так и в 64-битном варианте. Photoshop был установлен вместе со всеми другими приложениями Master Suite CS4.

Это не сработало как в Windows 7, так и в Windows XP, на 2 разных компьютерах + 1 виртуальном ПК (рабочая станция Vmware). Я также попробовал это в VS2010 Beta 1 и редакторе MS Word VB, но и здесь это не сработало.

У кого-нибудь есть мысли? Если вы смогли добавить ссылку, какова была ваша конфигурация?

Ответы [ 2 ]

6 голосов
/ 17 января 2012

Нет необходимости создавать виртуальную машину, существует проблема с некоторыми версиями Photoshop, поскольку COM не отображается, чтобы исправить этот запуск Photoshop от имени администратора (только один раз), и это исправит записи реестра. и COM будет доступен.

3 голосов
/ 24 августа 2009

В итоге было решено использовать виртуальную машину Windows XP с автономной установкой Photoshop (вместо целого набора для творчества). Вы можете использовать его для создания библиотеки DLL, которая работает в любой Windows с любой установкой Photoshop CS4 (автономной или творческой).

РЕДАКТИРОВАТЬ: Вот весь процесс

Создайте виртуальную машину Windows XP с вашим любимым решением для виртуализации (Vmware, VirtualBox, VirtualPC и т. Д.). Установите Visual Studio 2008 и отдельную установку Photoshop CS4 (в моем случае целые креативные костюмы не сработали, но пробег может отличаться). Откройте Visual Studio и создайте новую библиотеку классов VB.NET или C #. После этого щелкните правой кнопкой мыши папку «ссылка» в обозревателе решений и выберите «Добавить ссылку». Перейдите на вкладку COM и найдите «Библиотека типов Adobe Photoshop CS4». Это добавит две новые ссылки: «Photoshop» и «PhotoshopTypeLibrary». Создайте фиктивную функцию (хотя она может и не потребоваться) и постройте свой проект. В качестве хорошей меры вы можете убедиться, что режим компиляции установлен на «release», но это не обязательно, отладка будет работать нормально. Как только ваш проект собран, перейдите в папку проекта на жестком диске вашей виртуальной машины и найдите папку bin \ release. Там вы увидите 3 dll: один с именем вашего проекта, один с именем Photoshop.dll и другой namde Interop.Photoshop.dll. Скопируйте два последних на свой компьютер для разработки с Windows 7 x64. Затем вы можете импортировать их в свой проект, добавив ссылки и просматривая эти 2 dll.

Очень приятная вещь, которую я заметил, это то, что, несмотря на то, что dll были скомпилированы на 32-битной виртуальной машине, они по-прежнему вызывали бы 64-битную версию Photoshop, если ваша программа .NET работала в 64-битном режиме.

Надеюсь, это поможет!

...