我有一个包含三个项目的 VS2008 解决方案: C# ASP.NET Web 服务,它使用 C++/CLI DLL,而它又调用本机 C++ DLL 的函数。所有参考均已正确设置。在 web 服务 bin 文件夹中有所有三个 DLL。问题是当我按 F5 时,浏览器中的页面FileNotFoundException
从 HRESULT 0x8007007E 通知我,找不到指定的模块。
缺少的模块是我的本机 DLL。ASP.NET 开发服务器复制(并使用)我的 C++/CLI DLL 中的某处%USERPROFILE%\AppData\Local\Temp\Temporary ASP.NET Files\root
,但不是本机的。如果我手动将本机 DLL 复制到与 C++/CLI DLL 相同的文件夹,那么我可以调试我的 Web 服务。但是,这种复制似乎并不正确。
在 PATH 上的某处复制本地 DLL 也感觉不对,因为其他开发人员需要记住它。
这里有一个类似的问题,并且在一个答案中链接了一篇博客文章。给定的解决方案要求我将 DLL 更改为延迟加载,这似乎又是一个半生不熟的解决方法,因为由于开发障碍它需要更改最终产品。
是否有适当的方法来调试 Web 服务、C++CLI DLL 和本机 DLL 的组合?