发现同一依赖程序集的不同版本之间存在冲突

时间:2009-08-31 00:24:07

标签: visual-studio visual-studio-2008

我目前使用.net 3.5框架和微软的互操作程序在visual studio中编程程序,以便与办公产品进行交互。 我的app.config文件有问题。每当我编译我的解决方案,重建或构建它时,错误列表中会出现警告

发现同一依赖程序集的不同版本之间存在冲突。

当我双击此消息时,visual studio尝试解决问题,但随着下一次构建,警告再次发生。我在app.config文件中检查了Visual Studio试图解决问题的方法,似乎它插入了这些行

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="office" publicKeyToken="71E9BCE111E9429C" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="Microsoft.Vbe.Interop" publicKeyToken="71E9BCE111E9429C" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

我认为bindingRedirect由于版本号而失败但我无法编辑它们,因为已经“解决问题 - 构建 - 问题发生”了。

是否有人知道可能出现的问题。我没有任何线索。

感谢每一个想法!

1 个答案:

答案 0 :(得分:0)

金克斯。我正在研究与Office程序集相关的类似问题。在我的情况下,我需要支持我的DEV盒上没有安装的旧版Office(但是安装在构建服务器上)。

我决定在这里的一个帖子上尝试我发现的MS Office Wrapper for .Net开源项目。它声称从97到2007支持所有版本的Office(只要您将自己限制在需要保持兼容的最旧版本中可用的API调用)。

也许使用该包装器也可以解决/简化您的Office版本依赖性。