我获得了我正在尝试编译的 .NET 项目的源代码。尽管如此,该项目使用了 Office 2010 中的引用(命名空间)Microsoft.Office.Interop.Word,但我在任何地方都找不到。 我能够下载该文件
microsoft.office.interop.word.dll
,但显然是 Office 2007 中的文件,因为它仍然无法编译,因为该项目使用函数 Document.SaveAs2
(来自 Office 2010 库)。
我的计算机上有 Office 2007 和 Visual Studio 2012 Express for Desktop。
您能解释一下这是如何工作的吗?为什么我能够下载 dll,但找不到 Office 2010 中的 dll。为什么我的客户能够在没有此 dll 的情况下编译 projet?如果编译时安装了 Visual Studio,它是否会自动“连接”到 Microsoft Office 库?
谢谢您的帮助。
如果您正确安装了程序集,您就不应该自己在本地系统上搜索 dll。有关如何在不安装 Office 的情况下下载和安装 Office 互操作库的信息,请参阅以下链接。第二个链接详细介绍了如何将程序集正确添加到项目中。
为了进一步参考,这里有一些详细说明如何正确添加 dll 的图片:
在您的项目中,右键单击“引用”并选择“添加”,然后选择“引用”。
接下来在参考管理器中选择“扩展”,滚动找到正确的 dll。其中 Microsoft.Office.Interop.Word.dll Office 2010 是版本 14。
通过 nuget Microsoft.Office.Interop.Word安装。
现在 Visual Studio 2019 已发布,您可以安装 Microsoft Office 互操作库作为名为
Visual Studio Tools for Office (VSTO)
的可选捆绑组件的一部分。
Microsoft 使这变得超级简单,您无需在 GAC 中引用它们!
如果您安装了 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
安装 VS2012 的 Office Tools Bundle 安装程序后,我设法获取建议参考中列出的 Microsoft.Office.Interop 扩展:http://blogs.msdn.com/b/somasegar/archive/2013/03/ 04/now-available-office-developer-tools-for-visual-studio-2012.aspx
在我的系统上可以找到它
C:\Windows\
assembly
\GAC_MSIL\Microsoft.Office.Interop.Word\*.0.0.0__*\Microsoft.Office.Interop.Word.dll
请注意,这不是 C:\Windows\
Microsoft.NET
中的,这是较新的 .NET 版本所期望的(也影响 pwsh Core)