2017-03-20 4 views
1

Ich habe dieses lästige Problem hier bei der Verwendung einer VB6-DLL (AB5COM.dll) in meinem WebAPI-Projekt. Alles funktioniert gut in meinem lokalen VS2015. Das Problem tritt nur in meinem remote IIS 7.5 (Win2008 R2) nach dem Bereitstellen der veröffentlichten Website auf. Ich verwende diese DLL in 2 Projekten meiner Lösung.Konnte COM-Objekt nicht umgewandelt werden - Fehler: Keine solche Schnittstelle unterstützt

Ich habe versucht, verschiedene Dinge -

  • Gene interop.AB5COM
  • Disable einbetten und lokale Kopie
  • Plattformwechsel zu x86
  • APP POOL unterstützt 32-Bit-
  • [assembly: ComVisible (true)]
  • Hinzufügen von [Guid ("xxxxxxx-xxxxx-xxxxxx-xxxxxx")] als Attribut in meiner Klasse

Alles war nutzlos. Local VS2015 funktioniert, Remote IIS7.5 schlägt mit dieser Ausnahme fehl.

System.InvalidCastException: Unable to cast COM object of type 'System.__ComObject' to interface type 'AB5COM.trxAB5core'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{AF42661C-D369-454A-A005-55D51037166A}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)). 

Ich kann auch nicht finden, die DLL Ich brauche mit regsvr32 zu registrieren, da der COM-DLL nicht veröffentlicht, und die Interop kann nicht registriert werden.

Würde ich Ihre Hilfe zu schätzen wissen.

Thx

+0

Kann jemand dabei helfen ...? –

+0

Was meinen Sie mit "die COM-DLL ist nicht veröffentlicht". –

+0

Ich meinte, dass wenn ich das Projekt veröffentliche, der BIN-Ordner weder die COM dll noch irgendeine interop.COM dll hat. Ich nehme jedoch an, dass meine Projekt-DLL einen Verweis auf einen physischen Speicherort enthält, in dem sich das COM-DLL befindet (das ist nur meine Annahme). –

Antwort

0

Ok, da keine Antwort auf diese, ich einige Schritte machen musste ... Die Remote-IIS-Umgebung mein Test-Server ist, so habe ich VS2017 mit meiner Lösung installiert, lief meinen app (Erfolg) und veröffentlicht (Erfolg). So zur Zeit habe ich keine Probleme mit dieser COM-DLL, die die Schlussfolgerung, dass dies eine reine REGISTRY-Problem ist. Der VS2015 weiß, wie man die richtige DLL registriert und dann funktioniert alles einwandfrei. Jetzt muss ich herausfinden, wie man das auf meiner Produktion funktioniert ...

Obwohl dies keine richtige Lösung ist, hoffe ich, dass meine persönliche Post jedem hilft.

Verwandte Themen