【问题标题】:Add Reference pointing to a different version than GAC添加指向与 GAC 不同的版本的引用
【发布时间】:2012-02-06 13:33:01
【问题描述】:

在我的一个网站中,我添加了对 IBM.DATA.DB2.dll(在 GAC 中,版本 9.0.0.2 中)的引用,如下面来自 web.config 的文本所示:-

但是当我构建我的项目时,它会尝试将其指向不同版本的 dll,如下所示的错误 mrssage:-

“无法加载文件或程序集 'IBM.Data.DB2, Version=9.7.4.4, Culture=neutral, PublicKeyToken=7c307b91aa13d208' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。( HRESULT 异常:0x80131040)"

我在 GAC (C://Windows/Assemblies) 中进行了检查,但在那里我看不到任何对版本 9.7.4.4 的引用。在这方面我能得到任何帮助,我将不胜感激。

谢谢, 阿比。

【问题讨论】:

    标签: visual-studio-2010 db2 asp.net-3.5 gac


    【解决方案1】:

    我能够使用 fuslogvw.exe 解决我的问题。从日志中我发现路径“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config”中的 machine.config 文件中有一个版本重定向,它将引用 9.0.0.2 重定向到 9.7。 4.4.

    <dependentAssembly>
    <assemblyIdentity name="IBM.Data.DB2" publicKeyToken="7c307b91aa13d208" culture="" />
    <bindingRedirect oldVersion="8.0.0.0-9.0.0.4" newVersion="9.7.7.4" />
    </dependentAssembly>
    

    将 9.7.4.4 更改为 9.0.0.2 解决了问题。

    谢谢, 阿比。

    【讨论】:

      【解决方案2】:

      您是否将“特定版本”属性设置为true?必须是那个版本吗?如果您可以链接到任何版本,则将该属性设置为false。这将允许您的项目链接到任何版本的程序集。

      它也可能是您引入此特定版本的其他依赖项之一的依赖项。

      如果您确实需要旧版本,而新版本正在被其他参考引入,那么您遇到了不同的问题。这只能通过升级您的应用程序或找到也引用旧版本的 3rd 程序集版本来解决。

      仔细检查您是否获得了最新版本(如果您拥有版本 9.0.0.2 并且 Visual Studio 正在寻找版本 9.7.4.4,则看起来不是最新版本)。下载并安装该版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多