我该在哪里找到 Microsoft.Office.Interop.Word.dll (2010)?

17
我得到了一个.NET项目的源代码,现在我想进行编译。但是,该项目使用了Office 2010中的引用(命名空间)Microsoft.Office.Interop.Word,可我找不到这个文件。 虽然我已经下载了文件microsoft.office.interop.word.dll,但显然它来自Office 2007,因为仍然无法编译,由于该项目使用了Office 2010库中的函数Document.SaveAs2。 我的电脑上装有Office 2007和Visual Studio 2012 Express for Desktop。
请问这是怎么回事?我为什么可以下载dll文件却找不到Office 2010的版本。我的客户端是如何在没有这个dll的情况下编译的?是否Visual Studio在编译时自动“连接”到已安装的Microsoft Office库?
谢谢您的帮助。

你应该安装Office 2010。 - Hamid Pourjam
你熟悉如何添加引用吗?右键单击引用节点,点击“添加引用”,转到左侧的“COM”节点,查找Microsoft.Office,或尝试添加using Microsoft.Interop.Office命名空间。 - MethodMan
我最终安装了Office 2010,但仍然无法解决我的问题。这是因为我有using Microsoft.Office.Interop.Word;,但没有添加引用,所以我得到了编译错误。我尝试按照MethodMan的建议添加引用,但我找不到任何Microsoft.Office...感谢您的帮助。 - mentinet
请查看此nuget软件包。 - VivekDev
6个回答

16
如果您已正确安装程序集,则不应该自己在本地系统上搜索dll文件。请参阅以下链接,了解如何下载和安装Office互操作库而无需安装Office。第二个链接详细介绍如何正确将程序集添加到项目中。 安装 Office 主要互操作程序集 Office 主要互操作程序集 此外,以下是一些图片,详细说明如何正确添加dll文件:
在您的项目中,右键单击“引用”,然后选择“添加”和“引用”。 添加引用 接下来,在“引用管理器”中选择“扩展”,滚动查找正确的dll文件。对于Microsoft.Office.Interop.Word.dll Office 2010,版本14是正确的。 添加dll

1
在您的VS Studio命令行中运行以下命令:“gacutil /l Microsoft.Office.Interop.Word”,以查看该dll是否加载到全局程序集缓存中。 - Bilal Bashir
看起来不错。我猜我已经得到了Office 2007的版本(仍然安装着,还有2010的版本)?请看这里:http://img11.hostingpics.net/pics/44086520150309161607FindingtheVisualStudioCommandPromptsinVisualStudio2012VisualCTea.png - mentinet
1
在项目的参考管理器下检查 COM -> 类型库,确保 COM 引用正确,并且还要检查是否存在 "Microsoft Word 15.0 Object Library"。 - Bilal Bashir
1
尝试选择它并尝试重新构建,应该使用您的GAC中最后加载的互操作程序集(应该是版本14,因为您刚刚安装了Office),这仅适用于开发中的构建,不应用于部署目的。 - Bilal Bashir
1
如果我按照这种方式构建应用程序以进行生产部署,那么这会成为一个问题吗? - mentinet
显示剩余5条评论

3

1
注意!这个软件包很棒,但是它不是由微软创建的,也不支持Office 14(2010)。只值得注意。 - matt.s

2
现在,Visual Studio 2019已经发布,你可以作为可选的捆绑组件之一安装Microsoft Office互操作库,称为“Visual Studio Tools for Office(VSTO)”。 微软已经极大地简化了这个过程,你不需要在全局程序集缓存中引用它们!

请注意,这将安装许多其他东西。它是否相关,我不知道。 - user376591

1
如果您已经安装了Office 2016,您可以在此处获取文件Microsoft.Office.Interop.Word.dll

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Word.dll


0
在我的系统中,它可以在 C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Word\*.0.0.0__*\Microsoft.Office.Interop.Word.dll 找到。
请注意,这不是在 C:\Windows\Microsoft.NET 中,这是新版本的.NET(也影响pwsh Core)所期望的位置。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接