2012-09-20 8 views
11

Ho un progetto C# che utilizza un progetto interno vb come COM.Carica la classe dal registro utilizzando COM funziona con ToolsVersion = "2.0" ma fallisce con ToolsVersion = "4.0"

Quando ho convertito il progetto di VS 2010, la seguente riga mi un'eccezione:

Set RTCClient_ = New RTCCORELib.RTCClient 

la RTCCore.RTCClient fa parte di Microsoft Merge Module per RTC (RTC Client API 1.2) che è possibile incorporato nella tua installazione pacchetto (che nel mio caso include l'EXE).

il RTCCore.RTCClient è la classe che viene registrato al Registro di HKEY_CLASSES_ROOT\RTCCore.RTCClient

L'errore che sto ottenendo è:

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

Ma se io sto cambiando il mio csproj e utilizzando ToolsVersion="2.0" la riga sopra funziona e posso ottenere l'oggetto RTCClient.

Quale sembra essere il problema?

+1

può mostrare come si chiama l'oggetto COM da C# – Cynede

+0

Penso che ci sia un po 'di informazioni mancanti dalla tua domanda. Si prega di chiarire cosa è RTCCORELib.RTCClient; confermare se il progetto VB stesso implementa un server COM; e spiega il ruolo del progetto C# e come si riferisce specificamente a questo codice VB. –

+0

"conferma se il progetto VB stesso implementa un server COM e spiega il ruolo del progetto C# e in che modo si riferisce a questo codice VB in particolare" - Non vedo ancora questo nella tua domanda modificata. –

risposta

1

Provare a inserire i tipi di intervallo incorporati su false nelle proprietà del riferimento alla libreria COM nel progetto. Il mio è C#, ma anche il tuo VB.Net potrebbe averlo.

Properties window