Word Interop编译时错误

时间:2010-05-24 22:27:25

标签: ms-word ms-office office-interop office-pia

在我的asp.net应用程序中引用程序集Microsoft.Office.Interop.Word时出现以下错误。

“Microsoft.Office.Interop.Word.ApplicationClass”类型同时存在

C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.Word\11.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll

C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.Word\12.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll

以前,我收到错误但12.0.0.0在Visual Studio下的PIA目录中,但错误消息是相同的,除了指向不同的路径。从那时起,我将dll复制到GAC,但出现了同样的错误。

我认为.Net应该照顾这个。谁能给我一些帮助?

BTW,我是使用Visual Studio .Net 2008

这样做的

1 个答案:

答案 0 :(得分:0)

这来自previous answer,但包含了相关信息,以防链接腐烂的引用死亡:


Problems with Primary Interop Assembly Versioning:使用.config文件和程序集绑定重定向,我终于能够摆脱最初报告的异常。我创建了一个.config文件,其中包含有关程序集绑定重定向的信息。然后将.config复制到包含宿主应用程序二进制文件的目录中。现在,旧的和插件共存并正常工作,而无需在转换COM组件时使用Marshal.CreateWrapperOfType方法,因此似乎有一种解决方法,我甚至不需要对GAC进行更改。仍有一些问题需要解决,但目前似乎有一个可行的解决方案。

<configuration>
<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 <dependentAssembly>
              <assemblyIdentity name="MyCompany.Assembly1.Interop"
                                publicKeyToken="25578904345626a0"
                                culture="neutral" />
              <bindingRedirect oldVersion="1.0.0.0"
                               newVersion="1.0.1.0"/>
              <codeBase version="1.0.1.0"
                        href="F:\MyApp\bin\Primary Interop Assemblies\MyCompany.Assembl1.Interop.dll"/>
         </dependentAssembly>
 <dependentAssembly>
              <assemblyIdentity name="MyCompany.Assembly2.Interop"
                                publicKeyToken="25578904345626a0"
                                culture="neutral" />
              <bindingRedirect oldVersion="9.0.0.0"
                               newVersion="9.0.1.0"/>
              <codeBase version="9.0.1.0"
                        href="F:\MyApp\bin\Primary Interop Assemblies\MyCompany.Assembly2.Interop.dll"/>
         </dependentAssembly>
       </assemblyBinding>
</runtime>
</configuration>

[关于根本原因的更多讨论,链接上的其他可能但尴尬的解决方案]