开发环境:win7(64)、vs2010、office2010
引用了一款开源的打印组件,其中除了组件本身的dll,还带了interop.excell.dll(版本号为1.3.0)、Interop.Microsoft.Office.Core.dll,Interop.VBIDE.dll三个相关组件现在问题是,我在程序中引用该打印组件时,只要是遇到调用excell的地方,就会报  “未能加载文件或程序集“Interop.Office, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。”从信息上看,excell.dll的地址是在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA”中的office2010自带的dll,而不是在/bin/debug目录下老版的dll,这是为啥?我明明已经引用了打印组件自带的老版的dll,而且,这几个dll我都拷贝到了.exe所在的目录下了的呀!请各位多多赐教,不胜感谢!

解决方案 »

  1.   

    添加引用---COM---Microsoft Office 11.0 Object Library  (不过office 2010版本会不一样吧) 代码里。using Microsoft.Office.Interop.Excel; 
            using Microsoft.Office.Interop.Word; 
     
    这个你用了没有。
      

  2.   

    添加引用   Com组件   然后添加引用如果是03的话
    using Microsoft.Office.Core;
    using Excel;
    using Word;若是07
    using Microsoft.Office.Interop;
    using Microsoft.Office.Interop.Excel;
    using Microsoft.Office.Interop.Word;
      

  3.   

    using Excel = Microsoft.Office.Interop.Excel;
    using Word = Microsoft.Office.Interop.Word;在网上下Microsoft.Office.Interop.Excel.dll 和 Microsoft.Office.Interop.Word.dll,引用一下就行了,我就是这样弄的。
      

  4.   

        非常感谢楼上几位的热心回答,可能是我没有表述清楚,这几个回答还不足以让我解决问题。
        我的问题是:由于打印组件引用的是老版本(估计是office2003)的excell.dll,我不敢随便用office2010版本的替换,担心出现其它问题,所以我引用的是打印组件自带的interop.excell.dll,可问题是程序运行报““未能加载文件或程序集“Interop.Office, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null””错,从版本上看,这根本不是老版本的dll,而且,从报错的具体信息看,程序引用dll的目标地址是C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA目录下的dll,这个dll应该是office2010的dll。这让我很是迷惑啊,我明明应用的是我程序下的老版本,为什么运行时找的却是新版本的dll?(附注:我已经把老版本的dll放到了exe所在的目录)
      

  5.   

       你试试把老版的interop.excell.dll 放在system32文件夹下面试试。
      

  6.   

    参考:
    How to: Install Office Primary Interop Assemblies你的机器没有安装PIA程序集导致的,按照上面那个提示,去下载安装一下吧。To download the PIAs for the 2007 Microsoft Office system, see 
    http://go.microsoft.com/fwlink/?LinkId=72637
      

  7.   

    11对应着2003,12 对应着2007.删除额外的EXCEL
    bin目录添加dll文件
      

  8.   

    回 computerfox :试了一下,还是有问题,因为我的机器上装的是office2010,装PIA for 2003或PIA for 2007的话都要求安装对应的office,难不成我得卸了office2010才行?
      

  9.   

    我遇到类似问题。以前用vs2005,framework2.0时 好好的,升级为vs2010,framework4 时 就出现这个问题。未能加载文件或程序集“Interop.Office, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。而且这个版本号,很奇怪。我没让他找到 Version=2.1.0.0 这个东西啊。可能自带的吧。不清楚