[英]How to link a .NET 2.0 assembly in a .NET 4.0 solution
我有一个使用.NET 4.0构建的项目。 我有很多代码很难转换回2.0。
我尝试导入使用.NET 2.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
因此,我的猜测是dll尝试加载,但无法从2.0版中找到mscoree.dll,从而引发异常。
我试图手动加载我的目标模块
Assembly asm = Assembly.LoadFrom(dllPath);
现在,Visual Studio调试器列出了已加载的模块,但仍无法访问它。 Windows搜索报告数十个“ mscoree.dll”分散在c:\\ windows目录中,因此我对手动加载它有些怀疑。
您还无法诊断问题。 Dumpbin.exe不会向您显示任何托管程序集都不会显示的内容。 这也不是混合CLR依赖关系所特有的问题。
使用fuslogvw.exe找出缺少的依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.