64位操作系统下IIS报“试图加载格式不正确的程序”错误
緣由:在64位操作系統(tǒng)下IIS發(fā)布32位的項目,報“項目依賴的dll無法讀取,試圖加載格式不正確的程序”錯誤。
?
原因:程序集之間的通訊要么全是64位環(huán)境下的,要么全是32位環(huán)境下的。不能混編訪問。不然會出現(xiàn)“試圖加載格式不正確的程序”的錯誤。
?
解決方法:
【C/S】
運行C/S程序比較簡單,直接在Build C/S程序的時候顯式指定為X86(64位系統(tǒng)默認為X64)就可以了。
【B/S】
運行B/S稍稍復(fù)雜點。在建立網(wǎng)站的時候,又分為兩種情況。
A:建立的是“項目”:這個時候跟 C/S 的處理是一樣。
B:建立的是“網(wǎng)站”:只需要修改IIS的配置就可以了。
i)“cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1”
(enable32bitapponwin64為1代表可運行32位應(yīng)用程序),該項可以通過 “命令行”執(zhí)行一次。(此命令的作用是使IIS能夠注冊32位的.net FW)
ii)64位OP默認是在IIS下注冊了64位的.net Framework的,因此還必須再注冊一個32位的.net Framework
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727>? aspnet_regiis.exe -i
?
?
另附:64位windows IIS 32位與64位轉(zhuǎn)換方法
?
64位版本的iis并不提供Microsoft OLE DB Provider for Jet驅(qū)動支持,所以,如果想在64位windows下使用asp或者asp.net連接access,需要將iis以32位的模式進行連接。以下轉(zhuǎn)載自其他網(wǎng)站的64位系統(tǒng)下32位iis與64位之間轉(zhuǎn)換的方法。
ASP.NET 2.0,32 位版本
要運行 32 位版本的 ASP.NET 2.0,請按照以下步驟操作:
1. 單擊“開始”,單擊“運行”,鍵入 cmd,然后單擊“確定”。
2. 鍵入以下命令啟用 32 位模式:
cscript %SYSTEMDRIVE%/inetpub/adminscripts/adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3. 鍵入以下命令,安裝 ASP.NET 2.0(32 位)版本并在 IIS 根目錄下安裝腳本映射:
%SYSTEMROOT%/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i
4. 確保在 Internet 信息服務(wù)管理器的 Web 服務(wù)擴展列表中,將 ASP.NET 版本 2.0.40607(32 位)的狀態(tài)設(shè)置為允許。
ASP.NET 2.0,64 位版本
要運行 64 位版本的 ASP.NET 2.0,請按照以下步驟操作:
1. 單擊“開始”,單擊“運行”,鍵入 cmd,然后單擊“確定”。
2. 鍵入以下命令禁用 32 位模式:
cscript %SYSTEMDRIVE%/inetpub/adminscripts/adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
3. 鍵入以下命令,安裝 ASP.NET 2.0 版本并在 IIS 根目錄下安裝腳本映射:
%SYSTEMROOT%/Microsoft.NET/Framework64/v2.0.50727/aspnet_regiis.exe -i
4. 確保在 Internet 信息服務(wù)管理器的 Web 服務(wù)擴展列表中,將 ASP.NET 版本 2.0.40607 的狀態(tài)設(shè)置為允許。
注意:ASP.NET 2.0 的內(nèi)部版本可能隨當(dāng)前發(fā)行的內(nèi)部版本的變化而變化。這些步驟適用于內(nèi)部版本 2.0.40607。
?
參考資料:
http://blog.csdn.net/wildboy2001/article/details/5792804
http://kitleer.blog.163.com/blog/static/9177857920102115045194/
http://topic.csdn.net/u/20100530/10/9fe9cea0-f759-4099-a840-2f57d9f63e97.html
轉(zhuǎn)載于:https://www.cnblogs.com/googlegis/archive/2011/11/21/2978767.html
總結(jié)
以上是生活随笔為你收集整理的64位操作系统下IIS报“试图加载格式不正确的程序”错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从图片中的一点取色
- 下一篇: Windows常用软件列表(2012.0