2017-09-21 10 views
1

Je développe un WebService et j'utilise la référence COM (fichier dll, j'ajoute cette référence dans le projet). Quand je lance mon webservice via VisualStudio, tout fonctionne correctement. Mais, quand je publierai le serveur Web dans IIS et essayez local exécute le webservice, je reçois l'erreur:Erreur de classe non enregistrée dans IIS WebService

"System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {80327130-FFDB-4506-B160-B9F8DB32DFB2} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 
    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) 
    at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) 
    at System.Activator.CreateInstance(Type type, Boolean nonPublic) 
    at System.Activator.CreateInstance(Type type) 
    at WebServiceDA.WebService1..ctor()" 

J'essaie d'enregistrer la classe dans le dossier SysWOW64 et System32, mais ne fonctionne pas.

Ma machine est en 64 bits et le COM est en 32 bits. Mais quand je change la cible de plate-forme en 'X86' (à l'origine est n'importe quel processeur) j'ai l'erreur:

Impossible de charger le fichier ou l'ensemble ou l'une de ses dépendances. Une tentative de chargement d'un programme avec un format incorrect a été effectuée.

Une idée? Merci beaucoup!

Répondre

1

Accédez au paramètre avancé du pool d'applications associé à votre site Web. enter image description here

set Activez l'application 32 bits à true dans la section General.

Cela devrait le réparer.

+0

Fonctionne! Merci beaucoup! – FelipeFonsecabh