Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 80040111类工厂无法提供请求的类(HRESULT中的异常:0x80040111(类不可用))_C++_C# 4.0_Iis 7_Interop_Web Deployment - Fatal编程技术网

C++ 80040111类工厂无法提供请求的类(HRESULT中的异常:0x80040111(类不可用))

C++ 80040111类工厂无法提供请求的类(HRESULT中的异常:0x80040111(类不可用)),c++,c#-4.0,iis-7,interop,web-deployment,C++,C# 4.0,Iis 7,Interop,Web Deployment,由于以下错误,检索CLSID为{0A80A563-28AE-11D3-9CD6-00C04F8B8EF1}的组件的COM类工厂失败:80040111类工厂无法提供请求的类(HRESULT中的异常:0x80040111(类E_类不可用)) 我在HKLM\Software\Classes\Wow6432Node\CLSID{0A80A563-28AE-11D3-9CD6-00C04F8B8EF1}中搜索了注册表中的条目,我可以在ProcServer32中找到带有{0A80A563-28AE-11D3

由于以下错误,检索CLSID为{0A80A563-28AE-11D3-9CD6-00C04F8B8EF1}的组件的COM类工厂失败:80040111类工厂无法提供请求的类(HRESULT中的异常:0x80040111(类E_类不可用))

我在HKLM\Software\Classes\Wow6432Node\CLSID{0A80A563-28AE-11D3-9CD6-00C04F8B8EF1}中搜索了注册表中的条目,我可以在ProcServer32中找到带有{0A80A563-28AE-11D3-9CD6-00C04F8B8EF1}的程序集

我使用嵌入式互操作类型创建了应用程序,它在本地计算机上运行良好,但当我将其部署到另一台服务器时,会出现上述错误

我在下面的代码行中得到一个提到的错误

XYZ.IApplication Sr = new Application();

我在XC++中加入了XYZ.TLB的引用。 这是堆栈跟踪

   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)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)

这是一个因许可而产生的问题。IIS_用户没有创建实例的访问权限


已将管理员凭据更新到应用程序池,问题已解决

我收到了下面相同的错误

System.Runtime.InteropServices.COMException(0x80040111):检索CLSID为{0B92B777-B6AD-435C-B9FD-804878C36E55}的组件的COM类工厂失败,原因是以下错误:80040111类工厂无法提供请求的类(来自HRESULT的异常:0x80040111(类E_类不可用))

在我的例子中,使用以下命令多次重新注册它就解决了这个问题

regsvr32 {yourdllpath}\{yourdllfilename}

如果您在没有管理员权限的情况下运行命令DOS提示符,也可能发生这种情况

单击开始->命令->右键单击显示的命令选项->运行方式 管理员->转到您的DLL位置,或者最好将其放置在 c:\windows\system32或\sysWOW64->regsvr32。\yourdll.dll