【问题标题】:How do I fix an assembly referencing an old (beta) version of .NET?如何修复引用旧(测试版).NET 版本的程序集?
【发布时间】:2011-02-02 15:32:36
【问题描述】:

我正在尝试在 Visual Studio 2010 中编译一个项目。它在 Visual Studio 2008 中运行良好,但 2010 出现以下错误:

无法解析主要参考“TiS.Core.eFlowAPI”,因为它间接依赖于 .NET Framework 程序集“mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”版本“2.0.3600.0”比当前目标框架中的版本“2.0.0.0”。

我已经找到了 MDbgCore.dll 的罪魁祸首。此程序集包含(在依赖项链中),它正在寻找 mscorlib 2.0.3600.0。

经过一些研究,它看起来像是 .NET 2.0 的测试版。

我该如何解决这个问题?我无权访问此第三方 DLL(即 TiS.Core.eFlowAPI)的代码。

【问题讨论】:

    标签: .net visual-studio assemblies


    【解决方案1】:

    我已经解决了。也许是错误的方式,但我使用Reflexil 修改了有问题的 DLL,因此它指向了正确的 .NET 版本。

    【讨论】:

      【解决方案2】:

      尝试创建一个新项目并引用正确的程序集。然后将代码复制并粘贴到您的项目中

      【讨论】:

      • 我的项目(针对 .NET 3.5)引用了 TiS.Core.eFlowAPI.dll。问题是 TiS.Core.eFlowAPI.dll 引用了其他 DLL,包括 MDbgCore.dll。正是这个 DLL 从 .NET 2.0.3600 中寻找 mscorlib。
      【解决方案3】:

      您可以尝试程序集重定向。我不确定这是否适合您,但我相信可以检查一下:

      【讨论】:

      • 也许(可能)我做错了,但这似乎对我不起作用......
      • 好吧,我们必须尝试一下,不是吗? :(
      【解决方案4】:

      我遇到了同样的问题。我可以通过重命名/删除目标目录中的MdbgCore.dll 来解决它。

      【讨论】:

        猜你喜欢
        • 2010-10-14
        • 2016-08-28
        • 2013-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-05
        相关资源
        最近更新 更多