У меня есть приложение, которое я обновляю с .NET 3.5 до .NET 4.0 framework. Он использует библиотеку COM, на которую ссылаются. В 3.5 это работает без проблем, но после перехода на 4.0 у меня возникают проблемы с получением COM для работы. COM от третьего лица, поэтому мы сами его не разработали.
Я получаю следующую ошибку COM (общая ошибка COM, не относящаяся к самому объекту COM): hr = 0x8007000b
CLR дает мне: «При вызове конструктора типа« Skype_Business_Launcher.Main », соответствующего указанным ограничениям связывания, возникла исключительная ситуация». Номер строки «3» и позиция «5».
И журналы C #:
=== Предварительная привязка информации о состоянии ===
LOG: пользователь = \ phillip
LOG: DisplayName = Interop.SKYPE4COMLib, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = ноль
(Полностью указано)
LOG: Appbase = file: /// bin / Debug /
LOG: Initial PrivatePath = NULL
Вызов сборки: Skype Business Launcher, версия = 1.0.5.0, культура = нейтральная, PublicKeyToken = ноль.
LOG: эта привязка начинается в контексте загрузки по умолчанию.
LOG: Использование файла конфигурации приложения:
LOG: использование файла конфигурации хоста:
LOG: использование файла конфигурации компьютера из C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config \ machine.config.
LOG: Политика, не применяемая в настоящее время для ссылки (частная, пользовательская, частичная или привязка сборки на основе местоположения).
LOG: Попытка загрузки нового файла URL: ///bin/Debug/Interop.SKYPE4COMLib.DLL.
ERR: не удалось завершить настройку сборки (hr = 0x8007000b). Зондирование прекращено.
Я удалил путь из соображений безопасности, но я проверил всю информацию о пути, и все это правильно. Также файл библиотеки COM существует там, где он указывает. Он также копируется в папку OBJ внутри проекта.
Изначально я получал сообщение о том, что библиотека COM не поддерживает встроенные типы, поэтому я установил значение «Внедрить типы взаимодействия» в ложное значение (это было верно ниже), и ошибка исчезла, но я не уверен, связано ли это с этой ошибкой или Я не думал, что упомяну это на всякий случай.
Опять же, он отлично работает с 3.5.
Спасибо