Я пытался написать код для взаимодействия с Photoshop, как путем добавления ссылки на COM, так и путем позднего связывания. Мне потребовалось время, чтобы понять, что код действительно работает, но не с 64-битной версией Photoshop.
Исключение, которое я получаю с 64-битным Photoshop, выглядит следующим образом:
COMException не обработано
Получение фабрики классов COM для компонента с CLSID {D9389EDE-AEF8-4092-9377-075E94B7CB9A} не удалось из-за следующей ошибки: 80080005 Ошибка выполнения сервера (исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Может ли мое приложение взаимодействовать с 64-разрядной версией Photoshop? Или это ограничивается только общением с 32-битной версией?
Я столкнулся с этим в одной из своих многочисленных попыток найти решение, но я не понимаю, как я могу использовать флаг CLSCTX_ACTIVATE_64_BIT_SERVER
либо с ссылкой на COM, либо с поздним связыванием, ну, если предположить, что это решение.
Исключение здесь:
Type photoshopType = Type.GetTypeFromProgID("Photoshop.Application");
if (photoshopType != null)
{
object photoshop = Activator.CreateInstance(photoshopType);