[英]LoadLibraryEx returns 0 in c# when the code was deployed on IIS 6.0 in windows server 2003 box
我的Web服務代碼部署在Windows Server 2003上的IIS 6.0上后,我將LoadLibraryEx
的返回值設置為“0”。 我在Windows XP(本地)中有原始代碼,它正常工作,並且沒有為此LoadLibraryEx
返回0。 我完全感到困惑,並且不確定為什么它在IIS 6.0上部署時返回零。
IntPtr handle = LoadLibraryEx(dllFullPath,IntPtr.Zero,0x00000008);
當我使用Marshal.GetLastWin32Error()時返回值為14001
該錯誤是ERROR_SXS_CANT_GEN_ACTCTX
。
應用程序無法啟動,因為它的並排配置不正確。 有關更多詳細信息,請參閱應用程序事件日志或使用命令行sxstrace.exe工具。
在您的方案中使用sxstrace.exe可能有點棘手。 當然值得檢查事件日志以查看它們是否包含線索。
我的猜測是問題框缺少相應的MSVC運行時。 確保部署了您嘗試加載的DLL使用的MSVC運行時。 在嘗試調試問題之前,首先要嘗試這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.