这两个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 (将#修改为@)