Проблема в общении с цифровым языком c # comll из c ++ в WIN 7 ultimate - PullRequest
2 голосов
/ 23 июня 2010

У меня есть c # com dll, который я регистрирую в реестре, используя regasm. Я общаюсь с этим c # dll из exe c ++. Я использую создать экземпляр для инициализации DLL. когда оба эти компонента не имеют цифровой подписи, они работают отлично. когда они имеют цифровую подпись, экземпляр экземпляра не работает. get последняя ошибка говорит "Токен не найден". это происходит в WIN 7 Ultimate и PRo, где, как в XP и Vista, это работает.

1 Ответ

1 голос
/ 23 июня 2010

Вы перерегистрируете свои библиотеки DLL, используя regasm после их подписания?

Используйте regedit , чтобы проверить регистрационную информацию на HKEY_CLASSES_ROOT\CLSID\{your-guid-here}\InProceServer32, например:

Assembly REG_SZ YourComObjectName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=abcdfc550b465bd3

Если ваш PublicKeyToken=null, то это причина. Чтобы получить токен из вашей DLL, используйте инструмент sn.exe, например: sn.exe -T path\to\your.dll

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...