Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

В конце концов решением было использовать виртуальную машину 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».Создайте фиктивную функцию (хотя она может и не потребоваться) и создайте свой проект.В качестве хорошей меры вы можете убедиться, что для режима компиляции установлено значение «выпуск», но это не обязательно, отладка будет работать нормально.После сборки проекта перейдите в папку проекта на жестком диске виртуальной машины и найдите папку bin elease.Там вы увидите 3 dll:один назван в честь вашего проекта, другой — Photoshop.dll, а другой — Interop.Photoshop.dll.Скопируйте два последних на свою машину разработки с Windows 7 x64.Затем вы можете импортировать их в свой проект, добавив ссылки и просмотрев эти 2 dll.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top