我有一個VS2008解決方案,包含三個項目:C#ASP.NET Web服務,它使用C++/CLI DLL,而後者又是調用本地C++ DLL的函數。所有參考都已正確設置。在web服務bin文件夾中,有三個DLL。問題是當我點擊F5時,瀏覽器中的頁面通知我關於FileNotFoundException
,來自HRESULT 0x8007007E,找不到指定的模塊。在Visual Studio 2008中調試ASP.NET Web服務,C++/CLI DLL和本地DLL
缺少的模塊是我的本機DLL。 ASP.NET Development Server在%USERPROFILE%\AppData\Local\Temp\Temporary ASP.NET Files\root
中複製(並使用)我的C++/CLI DLL,但不是本地的。如果我用C++/CLI DLL手動將原生DLL複製到相同的文件夾,那麼我可以調試我的Web服務。但是,這種複製看起來不正確。
在PATH的某個地方複製本機DLL也感覺不對,因爲其他開發人員需要記住它。
這裏有一個similar question和一個鏈接在一個答案。給定的解決方案要求我改變DLL的延遲加載,這似乎是一個半熟的解決方法,因爲它需要由於開發障礙而改變最終產品。
是否有適當的方法來調試Web服務,C++ CLI DLL和本機DLL的組合?
這裏可能是黑暗中的一個鏡頭,但是當你運行你的服務時,會創建一個過程?如果可能的話在你的機器上加載服務代碼的一個實例,當它運行在vs你可以去調試(或有時工具) - >附加進程。通過這種方式,您可以查看服務正在運行時發生的情況 – clamchoda
缺少本機DLL正在發生,這方面沒有任何謎團。我的問題是如何「解僱」它? – Dialecticus