Hallo,
also meine Ausgangslage:
[ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(ITest)), ComVisible(true), Guid(ClassId)]
Fehlermeldung:
Das COM-Objekt des Typs "AppsScriptLib.AppsScriptRunningContextClass" kann nicht in den Schnittstellentyp "AppsScriptLib.IAppsScriptRunningContext" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{4D2E5723-87C2-49C1-AA28-ED2D88275100}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)).
Ich gehe also davon aus dass das Problem bei diesem Execomserver liegt.
Ich verwende dieses Design Pattern:
Module Name: ExeCOMServer.cs
Wie gesagt: Verwende ich nicht diesen ExeComServer funktioniert alles mit dem übergebenen AppsScriptLib.AppsScriptRunningContext
Ich denke das der Hund irgendwo in diesem Teil begraben liegt habe da aber keine Idee:
int hResult = COMNative.CoRegisterClassObject(
ref clsidSimpleObj, // CLSID to be registered
new MainAppClassFactory(), // Class factory
CLSCTX.LOCAL_SERVER, // Context to run
REGCLS.MULTIPLEUSE | REGCLS.SUSPENDED,
out _cookieSimpleObj);
mfg Chris