我们有一个32位的.NET应用程序,这使得使用的DSOFile.dll 2.1 32位版本读取从Office文档共同的属性。这适用于Windows的32位版本,分别为Office 2003和Office 2007文档。现在我们正在研究我们的应用程序的行为在64位环境,特别是在64位的Windows Server 2008。

在这64位环境中,DSOFile.dll可以成功读取Office 2003页文档(如DOC)的特性,但在办公室的情况下,2007年的文件(例如DOCX),只有空字符串的所有属性返回,否则将产生一个错误。

下面是我的意见:

环境:干净的安装,点击 阅读DOC道具:OK结果 读DOCX道具:空值返回结果

环境:Office 2007兼容包安装的结果 阅读DOC道具:OK结果 读DOCX道具:空值返回结果

环境:Office 2007兼容包SP1结果 阅读DOC道具:OK结果 读DOCX道具:空值返回结果

环境:安装Office 2007点击 阅读DOC道具:OK结果 读DOCX道具:错误消息=“文档不是OLE文件”,点击

在64位系统I中使用位于%SystemRoot%\ SYSWOW64 REGSVR32的拷贝到寄存器dsofile.dll。

任何意见,将不胜感激。

有帮助吗?

解决方案

您可以编译您的应用程序的x86代替AnyCPU,然后它会正常工作在x64的Windows。

另一种可能的方式是使用Open XML SDK 2.0的Microsoft Office。查看其是否支持x64的应用程序。

的http:// WWW .microsoft.com /下载/ details.aspx?FAMILYID = C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang = EN

其他提示

您可以找到DSOFIle源代码(对谷歌看看),并编译为64位,或尝试此链接,有人说,他们已经做到了: http://www.keysolutions.com/blogs/kenyee.nsf/ d6plinks / KKYE-79KRU6

我也得到了64版本在这里,如果你需要,我可以把它上传。

有可能不直接关系到你的问题,但如果你想尝试一下,我用x86和x64

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top