C# 创建Visio对象时出错:“0”;由于以下错误,检索CLSID为{…}的组件的COM类工厂失败:80080005;

C# 创建Visio对象时出错:“0”;由于以下错误,检索CLSID为{…}的组件的COM类工厂失败:80080005;,c#,asp.net,office-interop,C#,Asp.net,Office Interop,因此,我有一个应用程序正在将不同的Office文件类型转换为pdf,其中一个文件类型是Visio。我也在做Excel和Word文档文件,它们工作正常 我在这一行得到了错误: Microsoft.Office.Interop.Visio.Application visApp = new Microsoft.Office.Interop.Visio.Application(); 我的32位服务器上安装了32位Office,包括Visio 我的Word和Excel文件也出现了类似的错误,我

因此,我有一个应用程序正在将不同的Office文件类型转换为pdf,其中一个文件类型是Visio。我也在做Excel和Word文档文件,它们工作正常

我在这一行得到了错误:

Microsoft.Office.Interop.Visio.Application visApp = 
    new Microsoft.Office.Interop.Visio.Application();
我的32位服务器上安装了32位Office,包括Visio

我的Word和Excel文件也出现了类似的错误,我需要执行一些DCOM安全配置,方法是转到
组件服务>计算机>我的计算机>DCOM配置
,并添加对Microsoft Excel应用程序和Microsoft Word 97-2003文档的权限。我更改了Microsoft Visio绘图的权限,但没有解决此问题


我不确定还需要检查什么,有人知道我需要做什么吗?

错误中的CLSID是什么?您是否对该CLSID进行了web搜索?该错误是在应用程序执行长时间暂停后生成的,还是立即生成的?此错误的一个原因可能是要注册的COM类工厂超时120秒…@DStanley-CLSID为00021A20-0000-0000-C000-000000000046@DavidW-我以为这是立即发生的,但我现在再次检查,错误是在长时间执行后出现的。你知道问题出在哪里吗?@Steven-如果你的应用程序运行的CPU压力过大,可能会导致这个问题,120秒后调用CoCreateInstance会暂停。这也可能意味着Visio的安装存在“引擎盖下”的问题,但这是一个延伸。关于这个问题(以及其他可能的原因),在