当前位置:编程学习 > C#/ASP.NET >>

System.IO.FileNotFoundException: 未能加载文件或程序集“office, Version=14.0.0.0, Culture=ne

程序需要把Excel转换为PDF,所以调用了 office2010的 Microsoft.Office.Interop.Excel dll,
开发机安装的是office2010,所以正常运行。把程序部署在客户机的时候,我也把Microsoft.Office.Interop.Excel dll放在exe目录下面,但老是一种报错
System.IO.FileNotFoundException: 未能加载文件或程序集“office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”或它的某一个依赖项。系统找不到指定的文件。 文件名:“office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”

求救各位朋友,怎么样解决这个问题? --------------------编程问答-------------------- 将Office.dll放到启用目录下… --------------------编程问答--------------------
引用 1 楼 happySnow_zhe 的回复:
将Office.dll放到启用目录下…
请问启用目录是什么路径? --------------------编程问答-------------------- 我的是CS程序 --------------------编程问答--------------------
引用 3 楼 laoerxudaolin 的回复:
我的是CS程序

就是你说的你的EXE所在路径 --------------------编程问答-------------------- 单单部署Microsoft.Office.Interop.Excel不够的,它只是让C#能调用Excel的一个代理。
客户机器也要装Office 2010(Excel 2010)。 --------------------编程问答-------------------- Microsoft.Office.Interop.Excel dll用8.0版本的,不管你是OFFICE2003-2007还是2010都可以 --------------------编程问答--------------------
引用 5 楼 gomoku 的回复:
单单部署Microsoft.Office.Interop.Excel不够的,它只是让C#能调用Excel的一个代理。
客户机器也要装Office 2010(Excel 2010)。
+1 --------------------编程问答-------------------- 从提示信息看Microsoft.Office.Interop.Excel dll可能在内部引用了其它的dll。 --------------------编程问答--------------------
引用 5 楼 gomoku 的回复:
单单部署Microsoft.Office.Interop.Excel不够的,它只是让C#能调用Excel的一个代理。
客户机器也要装Office 2010(Excel 2010)。

谢谢,也行是这个原因吧 --------------------编程问答--------------------
引用 6 楼 DENQH 的回复:
Microsoft.Office.Interop.Excel dll用8.0版本的,不管你是OFFICE2003-2007还是2010都可以

03 07的不支持把Excel转换为PDF,所以用了2010 --------------------编程问答-------------------- 你单纯拷贝是没用的,Excel.Interop.dll只是一个代理,真真处理的还是Office去处理的,所以你机器没有安装Office 2010 是不可以使用的,你还是把版本修改为12.0,因为你机器中安装了Office 2007 --------------------编程问答-------------------- 5#正解,你这样添加强类型引用,虽然程序写起来舒服了,但是要求客户端必须装对应版本的Excel,通过注册表查一下关联的classid或版本号就知道了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,