如何解决这两个Word互操作程序集引用之间有什么区别?
我继承了一个较旧的.NET WinForms项目,该项目包括多套Microsoft Office Interop引用(Word,Excel,Core,VB等...该应用程序与这些组件一起以编程方式生成文档)。一种参考类型如下所示:
<COMReference Include="Microsoft.Office.Interop.Word">
<Guid>{00020905-0000-0000-C000-000000000046}</Guid>
<VersionMajor>8</VersionMajor>
<VersionMinor>4</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
</COMReference>
...在\ bin文件夹中没有.DLL或在其他地方没有.DLL的路径,因此看起来像是GAC参考。
另一种类型是它,它确实对应于项目的\ bin文件夹中的.DLL:
<Reference Include="Interop.Word,Version=8.3.0.0,Culture=neutral">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>True</EmbedInteropTypes>
<HintPath>bin\Interop.Word.dll</HintPath>
</Reference>
...它们之间有什么区别?都需要吗?
最近,我的机器无法再构建项目了,不知道为什么-也许IT部门推出了某些Windows或Office更新程序,这些程序破坏了互操作性或更改了GUID,我不知道。但是删除最上面的一个解决了这个问题,所以我试图理解为什么它们都存在于项目中。构建问题是这样的:
MSB3283:找不到类型库“ Microsoft.Office.Word”的包装程序集。 确认(1)COM组件已正确注册,以及(2)您的 目标平台与COM组件的位数相同。对于 例如,如果COM组件是32位的,则目标平台不得 是64位。
我也无法弄清楚Microsoft.Office.Interop.Word的来源...我以为我会尝试将其删除并重新添加,但是我无法在内置文件中找到它。要添加的库。也许您必须从Office程序集中添加它?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。