在项目中找到互操作 dll



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

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

在正常配置中,Office已在GAC中安装dll(PIA=主互操作程序集)。因此,您没有必要将其与您的项目一起分发。

对于Office2007,总是有一个警告,即默认情况下不会安装PIA,因此用户的计算机可能在GAC中没有PIA。出于这个原因,微软提供了一个可再发行作为下载。您的安装可以检查项目中使用的PIA是否存在并安装它们(与.NET Framework相同)。

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

Hans提到了"嵌入互操作类型"选项,该选项适用于.NET Framework的最新版本。这可能很有用,但彻底的测试是必要的,因为此选项有时会产生"意外结果"(嵌入PIA中的错误或不完整信息)。

最新更新