包括安装参考资料

本文关键字:参考资料 安装 包括 | 更新日期: 2023-09-27 18:04:08

我有一个c#程序,它引用了一些东西,即Excel和office引用。但是,在目标机器上没有安装Office。是否有一种方法可以将程序需要的参考/dll包含在某种安装包中,以便它能够工作?

这是我得到的错误代码,当我试图用Excel 2003在别人的机器上运行它。我从微软安装了2010年的互操作,但这仍然发生:

线程初始化失败。system . io . fileloadeexception:无法加载文件或程序集。Excel, Version=14.0.0.0, Culture=neutral,PublicKeyToken=71e9bce111e9429c'或其依赖项之一。本地化程序集的清单定义与程序集引用不匹配。(Exception from HRESULT:0x80131040)

WRN:程序集绑定日志被关闭

当错误出现时,它引用了这个部分,尽管在另一台计算机上,它显示了我计算机上项目所在的路径。

private void bgwFirstProcessThread_DoWork(object sender, DoWorkEventArgs e)
    {
        try
        {
            BackgroundWorker worker;
            worker = (BackgroundWorker)sender;
            //Get the Class object and call the main method
            XlsxThread WO = (XlsxThread)e.Argument;
            WO.ProcessXlsx(worker, e);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Thread failed to Initialize.'n" + ex.ToString());
        }
    }

包括安装参考资料

Checkout Microsoft Office Primary Interop Assemblies Redistributable here..http://www.microsoft.com/en-us/download/details.aspx?id=3508

这允许你打包Microsoft.Office.Interop程序集(在bin文件夹中)和代码引用。

但是如果代码中的功能需要在目标机器上安装MS Office,则必须安装Office才能达到预期的效果。

=我敢说——如果你想让它兼容多个office版本,你必须包含你想要支持的最低版本的互操作汇编,以保持你的代码兼容所有版本。因此,您将需要Excel 2003兼容的互操作汇编版本为您的需要http://www.microsoft.com/en-gb/download/details.aspx?id=20923这将限制你使用较新的办公功能工具,如功能区菜单。