【发布时间】:2012-02-19 19:18:01
【问题描述】:
我正在尝试构建一个依赖于多个托管 C++ 程序集的 VS 2005 网站项目。托管 C++ 程序集之一依赖于(静态加载)非托管 DLL,该 DLL 使用 __declspec(dllexport) 导出类。
由于某种原因,我收到以下构建错误:
Error 4 The specified module could not be found. (Exception from HRESULT: 0x8007007E)
(来自构建输出详细信息):
(0): Build (web): The specified module could not be found. (Exception from HRESULT: 0x8007007E)
当我在网站的 \Bin\ 目录中使用非托管 DLL 构建时,但不在路径中。如果我将非托管 DLL 放在路径中,然后重新启动 Visual Studio,它会构建并运行得很好。
注意:这个线程似乎相关,但我还没有得到部署:Unmanaged DLLs fail to load on ASP.NET server
有没有什么方法可以用 \Bin\ 中的非托管 DLL 而不是路径来正确构建这个 .sln? (我真的更愿意将这些作为网站的一部分,而不是系统)
编辑: 看来我在某种程度上误解了 \Bin\ 文件夹的用途。听起来除了托管程序集之外什么都没有。 (所以我一直放在那里的 COM 对象和它们所依赖的其他非托管 DLL 可能属于其他地方。)
【问题讨论】: