您好,登錄后才能下訂單哦!
由于網站調用了一個第三方的32bit的dll,所以發布在64位的2008后,訪問網站的時候出現加載該dll不成功的錯誤。
解決方法:
在iis上面設置該網站可運行在32位的模式下面。
步驟如下:
1、找到該網站所引用的應用程序池。
2、在該應用程序池的高級設置里面———》常規——》啟用32位應用程序,設置該值為true
問題解決。
下面是其他網友的補充:
部署一個WEB項目,在本機、本地服務器都沒有問題,但部署到遠程服務器以后,提示有個DLL無法加載:
Server Error in '/' Application.
Could not load file or assembly 'Common.Component.Repository' or one of its dependencies. An attempt was made to load a program with an incorrect format.
首先肯定的是,系統聲稱無法加載的DLL千真萬確存在
其次從本機、本地服務器都沒有問題推測,似乎最有可能的原因是該遠程服務器的環境有問題。但是,遠程服務器是裝了.NET4.5.2的,并且跑其他WEB項目都沒問題。WEB項目所對應的應用程序池也是4.0,排除選了2.0的原因。
后來該WEB項目的開發者在IIS的應用程序池上開啟了32位支持,問題解決。原來,遠程服務器的是64位的WIN SERVER 2008。
在 IIS 7.x 中,要“啟用 32bit 應用程序支持”,需要對“應用程序池”進行配置。將“enable32BitAppOnWin64”設置為“True”。這樣便將應用程序池的工作進程設置為 WOW64 模式,而在 WOW64 模式下,工作進程將僅加載 32 位應用程序的 32 位進程。為了避免影響其他網站,可為 32bit 應用程序的網站單獨創建一個應用程序池。下面 gOxiA 將引導大家如何在 IIS 7.x 下啟用 32bit 應用程序支持。
為 32bit 應用程序的網站單獨創建一個應用程序池,操作過程省略……;
打開“Internet 信息服務 (IIS) 管理器”在左側窗體中展開服務器列表,找到該網站對應的應用程序池;
選中應用程序池,并在右邊操作窗體中點擊“高級設置…”;
在“(常規)”設置中找到“啟用 32 位應用程序”,并將其設置改為“True” 此外,我們也可以利用命令行進行設置,命令行參考如下:
appcmd set apppool /apppool.name:My32bitApp /enable32bitapponwin64:true
大家如果也有類似的故障錯誤,可以用此辦法解決。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。