在项目中找不到Interop dll

时间:2016-03-27 22:46:32

标签: c# .net ms-word office-interop

我正在使用Microsoft Word 2007开发一个C#项目。我在项目中添加了对Word组件的引用。编译后我在bin中找不到Interop dll。我在哪里可以找到Interop DLL?我需要复制它。

2 个答案:

答案 0 :(得分:1)

在Word组件中,展开项目引用,找到Interop dll,突出显示它,然后在属性窗口中启用“复制本地”。再次编译后,您现在应该在输出目录中看到dll。

答案 1 :(得分:0)

在正常配置中,Office已在GAC中安装了dll(PIA =主互操作程序集)。因此,您无需随项目分发它。

对于Office 2007,始终需要注意的是默认情况下未安装PIA,因此用户的计算机可能没有在GAC中使用它们。出于这个原因,Microsoft提供了一个可再发行的作为下载。您的安装可以检查项目中是否存在PIA并进行安装(与.NET Framework相同)。

可能使用tlbimp.exe(https://msdn.microsoft.com/en-us/library/tw4zwhbe(v=vs.110).aspx)创建自己的IA,并且在某些情况下您可能希望这样做。在这种情况下,您将使用项目分发dll。

Hans提到了.NET Framework的更新版本的“嵌入互操作类型”选项。这可能很有用,但是必须进行全面测试,因为此选项有时会产生“意外结果”(从PIA中嵌入错误或不完整的信息)。