.NET Framework 4.8 прервал взаимодействие COM

После обновления до.NET Framework 4.8, нашего кода взаимодействия, вызывающего видимую сборку.NET COM, объект COM больше не виден, и вызов взаимодействия завершается неудачно. Мы обратили внимание на заметки о выпуске.NET Framework 4.8 и определили эти две заметки, которые кажутся основной причиной:

  1. По умолчанию процессы с повышенными правами не будут считывать HKCU для информации об активации управляемого COM. [592187, clr.dll, Bug, Build:3621]
  2. Предотвращает активацию COM управляемыми типами приложений, чьи идентификаторы GUID не соответствуют объявленному CLSID в реестре " [752205, clr.dll, Ошибка, сборка:3734]

Мы хотели бы узнать больше информации об этих двух изменениях и выяснить, препятствуют ли они нашему коду вызывать COM-взаимодействие. Если они являются основной причиной, есть ли какое-либо решение.

Конкретные вопросы заключаются в следующем:

  1. Наша DLL сборки COM зарегистрирована на уровне HKCU с постоянными идентификаторами GUID. Может ли несовпадение идентификаторов GUID, упомянутое во втором примечании выше, быть применимо к нашему делу?
  2. Первое замечание выше упомянуто "По умолчанию". Есть ли способ изменить поведение по умолчанию и разрешить чтение из HKCU для управляемой активации COM?

0 ответов

Другие вопросы по тегам