在Visual Studio 2008中调试ASP.NET Web服务,C ++ / CLI DLL和本机DLL
我有一个包含三个项目的VS2008解决方案:C#ASP.NET Web服务,它使用C ++ / CLI DLL,而后者又调用本机C ++ DLL的函数。 所有参考都已正确设置。 在web服务bin文件夹中,有三个DLL。 问题是当我点击F5时,浏览器中的页面通知我有关HRESULT 0x8007007E的FileNotFoundException
,找不到指定的模块。
缺少的模块是我的本地DLL。 ASP.NET Development Server在%USERPROFILE%AppDataLocalTempTemporary ASP.NET Filesroot
复制(并使用)我的C ++ / CLI DLL,但不是本地的。 如果我用C ++ / CLI DLL手动将原生DLL复制到相同的文件夹,那么我可以调试我的Web服务。 但是,这种复制看起来不正确。
在PATH的某个地方复制本机DLL也不会觉得正确,因为其他开发人员需要记住它。
这里有一个类似的问题,一个博客文章链接在一个答案。 给定的解决方案要求我改变DLL的延迟加载,这似乎是一个半熟的解决方法,因为它需要由于开发障碍而改变最终产品。
是否有适当的方法来调试Web服务,C ++ CLI DLL和本机DLL的组合?
问题很简单,编译器无法确定本机c ++库的位置。
所以,有一些方法可以解决这个问题。
path
环境变量设置为它的位置。 http://blogs.msdn.com/b/jorman/archive/2007/08/31/loading-c-assemblies-in-asp-net.aspx
除此之外没有真正的答案。
链接地址: http://www.djcxy.com/p/95389.html上一篇: Debugging ASP.NET web service, C++/CLI DLL, and native DLL in Visual Studio 2008
下一篇: Visual Studio No Symbols have been loaded for this document