2012-09-20 3 views
11

Mam projekt C#, który używa wewnętrznego projektu vb jako COM.Wczytaj klasę z rejestru używając COM działa z ToolsVersion = "2.0", ale kończy się niepowodzeniem z ToolsVersion = "4.0"

Kiedy przekształcony projektu do VS 2010 następujący wiersz Rzuć mi wyjątek:

Set RTCClient_ = New RTCCORELib.RTCClient 

RTCCore.RTCClient jest częścią Microsoft Merge Module dla RTC (RTC Client API 1.2), które można osadzony w instalacji pakiet (to w moim przypadku zawiera EXE).

RTCCore.RTCClient jest klasa, która jest zarejestrowana w rejestrze pod HKEY_CLASSES_ROOT\RTCCore.RTCClient

błąd pojawia dostaję to:

ERROR: Automation error
The specified module could not be found. (-2147024770)

Ale jeśli ja zmieniam csproj i korzystania ToolsVersion="2.0" Powyższa linia działa i mogę uzyskać obiekt RTCClient.

Co wydaje się być problemem?

+1

można pokazać w jaki sposób skontaktować się z obiektu COM z C# – Cynede

+0

Myślę, że niektóre informacje brakuje Twojego pytania. Proszę wyjaśnić, czym jest RTCCORELib.RTCClient; sprawdzić, czy sam projekt VB implementuje serwer COM; i wyjaśnić rolę projektu C# i jego związek z tym kodem VB. –

+0

"sprawdź, czy sam projekt VB implementuje serwer COM i wyjaśnij rolę projektu C# i jak odnosi się do tego kodu VB" - nadal nie widzę tego w edytowanym pytaniu. –

Odpowiedz

1

Spróbuj ustawić opcję Embed Interop Types na false we właściwościach odwołania do biblioteki COM w projekcie. Mój jest C#, ale twój VB.Net też może to mieć.

Properties window

Powiązane problemy