簡體   English   中英

當代碼部署在Windows Server 2003框中的IIS 6.0上時,LoadLibraryEx在c#中返回0

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM