interop 어셈블리가있는 타사 DLL을 사용해야하는 VB.Net 프로젝트가 있습니다. 내가 프로젝트에 직접 상호 운용성에 대한 참조를 추가하는 시도어셈블리가 VS10 개체 브라우저에 나열되지 않았습니다.
Hummingbird.DM.Server.Interop.PCDClient.dll
PCDClient.dll
,하지만 오류를 등록하지 않는 COM을받은 파일을 실행에 : 그래서 이런 식으로 뭔가가있다.
gacutil /if "C:\....\Hummingbird.DM.Server.Interop.PCDClient.dll"
regasm "C:\....\Hummingbird.DM.Server.Interop.PCDClient.dll"
심지어 VS를 다시 시작한 후, 어셈블리가 계속 표시되지 않습니다 :
그래서 나는 다음과 같이 상호 운용성을 등록했습니다.
그래서 내가 GACUTIL 만 사용해야한다고 말하는 것입니까? "regasm/u ..."를 사용하여 등록을 취소 한 다음 "gacutil/if ..."로 충분합니까? 내 시스템은 Win XP 32Bit입니다. – udeleng
이 COM 서버는 관리 코드가 될 가능성이 적습니다. 내가 말했듯이, regasm을 실행하면 COM 서버의 레지스트리 키를 덮어 썼습니다. 다시 설치해야합니다. Regsvr32를 * 관리되지 않는 * DLL (interop 라이브러리가 아님)에서 사용하는 것이 가능성이 높습니다. 문제가 더있는 경우 공급 업체의 지원을 요청하십시오. –
"regsvr32 PCDClient.dll"을 사용했습니다 (interop은 여전히 GAC에 있고, 필요한지 확실하지 않습니다). 이제 Interop.PCDCLIENTLib가 개체 브라우저에 나열되어 있습니다. 당신은 내가 사용해야하는 단계가 있음을 확인할 수 있습니다 gacutil/경우 "C : \ ... \ Hummingbird.DM.Server.Interop.PCDClient.dll" 에 regsvr32 "C : \ ... \ PCDClient. dll " – udeleng