我使用Vs2013。我已经创建了应用程序,其中我使用Excel文件作为输入,并从文件中获得联系人。一切都在我的电脑上工作。我有Vs2013。Windows 8.1,女士Office 2007 & 2013。
当我在任何其他计算机上运行应用程序时,它会抛出
未能加载文件或程序集“Office,版本=15.0.0.0,区域性=neutral,PublicKeyToken=71e9bc111e9429c”或它的某一个依赖项。系统找不到指定的文件
根据我的应用程序要求,我需要使用Excel文件从Office 2007到2013。
我已经提到了一些堆栈溢出链接,但我没有得到结果。我卡住了。请建议我如何解决这个问题。
6条答案
按热度按时间eni9jsuy1#
您的另一台计算机需要安装相应版本的Office。15.0.0.0应对应于Office 2013 -需要在您的目标计算机上安装Office 2013(其他版本的Office可能无法正常工作)。这几乎可以肯定地意味着您正在使用MSOffice互操作库,该互操作库仅在安装了Office且针对相同版本时才能正常工作。
或者,您可以重构代码以直接读取Excel XML。
cfh9epnr2#
我也得到了这个错误消息,即使我有Office 2010,我没有GAC下的
Microsoft.Office.Interop.Excel
文件夹。我在这里找到了解决方案:https://www.add-in-express.com/forum/read.php?FID=5&TID=15525
您必须引用以下文件夹中的两个dll文件:
C:\Windows\assembly\GAC_MSIL\Microsoft.Vbe.Interop\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll
以及
C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c\OFFICE.DLL
jgwigjjp3#
我通过更改Excel.dll版本得到了解决方案。我使用的是15.0.0.0,现在我将其更改为12.0.0.0,它工作正常。我从
Add reference > Browse > C: > Windows > assembly > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_etc > Microsoft.Office.Interop.Excel.dll
获得了dllhsvhsicv4#
我创建了一个批处理文件来解决此问题。请参阅下面的脚本:
zqry0prt5#
我有同样的问题,你应该包括以下软件包(Syncfusion.XlsIO),而不是(Microsoft.Office.interop.Excel),因为它只支持Excel 2013,但第一个“Syncfusion.XlsIO”不支持Excel 2016;
下面是代码:
hpcdzsge6#
我的问题是,我试图使用nuget包:
它不仅不受支持,而且无法用
FileNotFoundException
加载。使用COMRreference属性。例如,下面是用于Excel的COMReference:
下面的讨论对准确的子属性有一些帮助:Incorrect COMReference entry when using Office interop #5735