Dll 无法加载文件或程序集';X';或者它的一个依赖项。找不到指定的模块
在黑暗中拍摄,但我想我会尝试张贴在那里的一些天才的希望 背景: 我试图将自动化单元测试添加到一个巨大的非托管C++项目中。由于团队内部的各种原因,我们希望使用MSTest。因此,需要从托管的C项目中调用来自未托管MFC C++项目的类和函数。 可行性证明: 我已经小规模地完成了这项工作,以证明它确实有效。这就是我所做的: < LI>创建一个具有较少类和功能的非托管MFC C++项目(源);编译为静态库(.lib)Dll 无法加载文件或程序集';X';或者它的一个依赖项。找不到指定的模块,dll,dependencies,unmanaged,Dll,Dependencies,Unmanaged,在黑暗中拍摄,但我想我会尝试张贴在那里的一些天才的希望 背景: 我试图将自动化单元测试添加到一个巨大的非托管C++项目中。由于团队内部的各种原因,我们希望使用MSTest。因此,需要从托管的C项目中调用来自未托管MFC C++项目的类和函数。 可行性证明: 我已经小规模地完成了这项工作,以证明它确实有效。这就是我所做的: < LI>创建一个具有较少类和功能的非托管MFC C++项目(源);编译为静态库(.lib) 创建一个与上述静态库链接的托管C++项目(包装器)。每个包装类只是创建一个指向源中
2012年3月6日上午10:45:11开始拍摄 操作系统:Microsoft Windows XP Professional(32位),版本5.01.2600 Service Pack 3 程序可执行文件:c:\example\testing\bin\debug\testing.EXE 程序参数: 开始目录:C:\example\Testing\bin\Debug\ 搜索路径:C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem 所选选项: 通过将任何应用程序路径目录插入PATH环境变量来模拟ShellExecute 记录DllMain对进程附加和进程分离消息的调用 钩住进程以收集更详细的依赖关系信息 记录LoadLibrary函数调用 记录GetProcAddress函数调用 记录第一次机会异常 记录调试输出消息 记录文件名时使用完整路径 用每行日志记录一个时间戳 自动打开和配置子进程 00:00:00.000:在地址0x00400000处启动了“c:\example\testing\bin\debug\testing.EXE”(进程0xF4)。成功钩住模块 00:00:00.047:在地址0x7C900000处加载了“c:\windows\system32\NTDLL.DLL”。成功钩住模块 00:00:00.140:在地址0x79000000处加载了“c:\windows\system32\MSCOREE.DLL”。成功钩住模块。 00:00:00.250:在地址0x7C800000处加载了“c:\windows\system32\KERNEL32.DLL”。成功钩住模块 00:00:00.250:c:\windows\system32\NTDLL.DLL中的DllMain(0x7C900000,DLL\u PROCESS\u ATTACH,0x00000000)被调用 00:00:00.250:c:\windows\system32\NTDLL.DLL中的DllMain(0x7C900000,DLL\u进程\u附加,0x00000000)返回1(0x1) 00:00:00.297:调用了“c:\windows\system32\KERNEL32.DLL”中的DllMain(0x7C800000,DLL\u PROCESS\u ATTACH,0x00000000) 00:00:00.312:c:\windows\system32\KERNEL32.DLL中的DllMain(0x7C800000,DLL\u PROCESS\u ATTACH,0x00000000)返回1(0x1) 00:00:00.312:在地址处插入“c:\documents and settings\administrator\desktop\depends22\u x86\DEPENDS.DLL” 0x08370000 00:00:00.344:调用了“c:\windows\system32\MSCOREE.DLL”中的DllMain(0x79000000,DLL\u进程\u附加,0x00000000) 00:00:00.344:DllMain(0x08370000,DLL\u PROCESS\u ATTACH,0x00000000)在“c:\documents and 设置\administrator\desktop\depends22\u x86\DEPENDS.DLL”调用 00:00:00.344:DllMain(0x08370000,DLL\u PROCESS\u ATTACH,0x00000000)在“c:\documents and 设置\administrator\desktop\depends22\u x86\DEPENDS.DLL“返回1 (0x1) 00:00:00.344:GetProcAddress(0x7C800000[c:\windows\system32\KERNEL32.DLL],“FlsAlloc”)从调用 地址0x79006F3C处的“c:\windows\system32\MSCOREE.DLL”,并返回 0xFFBADD11 00:00:00.359:退出“c:\example\testing\bin\debug\testing.EXE”(进程0xF4),代码为-1073740791(0xC0000409) 问题: 发生了什么事?为什么这在我的小可行性示例中有效,但在我想要的实际代码中却不起作用?我正在将包装器项目链接到其他几个库,但这又有什么关系呢