-1

我制作了一个非常简单的 c# 程序来测试不同用户对某些文件路径的访问。对于每个人,程序都可以正常工作,但对于一个用户,程序会返回异常

System.io.filenotfoundexception:检索具有 CLSID{} 的 COM 类工厂组件失败,原因是以下错误:80070002

这发生在他尝试创建 Microsoft.Office.Interop.Excel.Application 对象时。

        using System;
        using System.Runtime.InteropServices;
        using Excel = Microsoft.Office.Interop.Excel;
        using System.Windows.Forms;
        using System.Diagnostics;
        namespace TestExcelBianchi
        {
            class Program
            {
                static void Main(string[] args)
                {
        
                   
                    ...
    
                    Excel.Application excel = new Excel.Application();
                    Excel.Workbook wb=null;
                    ....
                }
            }
    }

在用户 PC 上运行 Office 修复后开始出现此问题,可能缺少 Office PIA。我是否需要在用户计算机上重新安装 Office,或者有没有办法避免它?

4

1 回答 1

0

您的机器似乎缺少所需的依赖项。尝试通过 Dependency Walker (depends.exe) 运行 com 组件,以查看是否安装了所有必需的库。或者只是尝试在有问题的机器上修复/重新安装 MS Office。

有关此问题的详细信息,请参阅无法在 C# 中实例化 COM 组件 - 错误 80070002

于 2021-11-18T13:23:33.333 回答