代码之家  ›  专栏  ›  技术社区  ›  Eric

如何在.NET 4.0解决方案中链接.NET 2.0程序集

  •  2
  • Eric  · 技术社区  · 14 年前

    我尝试导入用.NET2.0构建的Dll。在我尝试从那个DLL执行代码之前,一切都正常。它表示无法加载指定的模块或其依赖项之一

    我曾经dumpbin.exe检查它可以有哪些依赖项

    File Type: DLL
    
      Section contains the following imports:
    
        mscoree.dll
                    402000 Import Address Table
                    4057F0 Import Name Table
                         0 time date stamp
                         0 Index of first forwarder reference
    
                        0 _CorDllMain
    

    我尝试手动加载目标模块

    Assembly asm = Assembly.LoadFrom(dllPath);
    

    VisualStudio调试器现在将模块列为已加载,但仍然无法访问它。Windows search报告了几十个“mscoree.dll“分散在c:\windows目录中,所以我对手动加载有点怀疑。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Hans Passant    14 年前

    你离诊断这个问题还差得远。Dumpbin.exe不会显示任何托管程序集无法显示的内容。这也不是一个特定于混合CLR依赖项的问题。

        2
  •  1
  •   Jonathan Allen    14 年前
    1. 首先查找它的所有依赖项。你没有把它们列在这里这一事实令人不安。
    2. 你的应用程序直接引用了所有的依赖关系。