我有一個簡單的C#4.5.1 x64應用程序,它通過/ clr C++包裝程序調用非託管dll。應用在我的開發機器上運行良好。如果我複製到Windows Server 2008或Windows Server 2012(安裝了Framework 4.5.1),則會出現一個包裝程序無法加載的錯誤。在開發機器上運行應用程序在部署時不會運行
我已經部署的機器上安裝DependencyWalker,我得到這個:
LoadLibraryExW("MyWrapper.dll", 0x000.., LOAD_WITH_ALTERED_SEARCH_PATH) called from ...
Loaded "MyWrapper.dll" at ... Successfully hooked module.
Loaded "XX.dll" at ... Successfully hooked module. (Dependency for MyWrapper.dll)
Loaded "YY.dll" at ... Successfully hooked module. (Dependency for MyWrapper.dll)
Unloaded "MyWrapper.dll"
Unloaded "XX.dll"
Unloaded "YY.dll"
LoadLibraryExW("MyWrapper.dll", 0x000.., LOAD_WITH_ALTERED_SEARCH_PATH) returned null. The specified module cannot be found.
有誰知道爲什麼一切都被裝載卸載,然後再不能找到?
您確定運行時安裝在部署機器上嗎?這可能有助於http://stackoverflow.com/questions/9052694/visual-studio-2010-msvcr-dependency-removal – dousin
它看起來像包裝加載,但加載你的應用程序然後去和卸載它們。是否還有其他錯誤發生?你的代碼是什麼樣的? –
@dousin .NET Framework運行時肯定已安裝。 – phil