0
我在写一个需要读取excel文件的C#程序(.net 2.0)。我开始知道我将不得不使用Microsoft.Office.Interop.Excel
。我下载了O2003PIA.MSI
并使用7Zip,提取了DLL(未安装)。现在,当我添加参照提取EXCELPIA.DLL
,它引发以下错误:使用Office 2003 interop DLL而不安装可再发行
Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.
我要部署的组件作为专用程序集,并且不希望最终用户安装可再发行。有什么依赖我失踪?
我已经尝试添加对OFFICE.DLL
的引用,但它也没有帮助。
编辑1
- 使用此之前,安装Office 2003需要它?
- 是否还有其他.net 2.0选择?
PIA只是包装:使用“依赖查看器”来查看是否有任何缺少先决条件的DLL。在加载程序集时(即在可搜索的DLL路径中),必须找到这些DLL,但不应将*添加为项目引用。请记住安装的各个Office程序使用PIA。此外,请确保只针对正确的位(32位for Office 2003),因为64位可执行文件无法找到正确的32位资源。 – 2013-01-07 03:50:14
我用Dependency Walker,发现它取决于MSCOREE.dll –
这确实是Office的一部分:)但是,我不知道是否有可能获取/分发这样的文件*但不安装Office。 (另外,如果安装了Office,则验证VS是否以32位模式运行;直到Office 2007才提供64位Office支持。) – 2013-01-07 03:56:35