2010-06-23 4 views
2

에서의 C++에서 C#의 COM DLL을 체결했다. 나는 C++ exe에서이 C# dll과 통신한다. 나는 dll을 초기화하기 위해 인스턴스 생성을 사용한다. 이 두 구성 요소가 모두 디지털 서명이되지 않으면 완벽하게 작동합니다. 디지털 서명이되면 인스턴스가 생성되지 않습니다. 마지막 에러가 발생하면 "Token not found"라고 표시됩니다. 이것은 승리 7 궁극적 인 및 PRo 어디에 xp 및 비스타에서 작동합니다. 당신이 그들을 로그인하면문제는 내가 RegAsm을 사용하여 레지스트리에 등록 C#을 COM DLL을 가지고 승 7 궁극적 인

답변

1

당신은 RegAsm을를 사용 당신의 DLL을 다시 등록합니까?

사용 regedit를는 예를 들어, HKEY_CLASSES_ROOT\CLSID\{your-guid-here}\InProceServer32에서 등록 정보를 확인합니다 :

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

당신의 PublicKeyToken=null 경우 다음이 원인이다. sn.exe -T path\to\your.dll

: 예를 들어, 당신의 DLL 사용 Sn.exe를 도구에서 토큰을 얻으려면
관련 문제