越來越多的開發團隊開始使用64位操作系統作為開發環境,也計划將應用部署在安裝有64位操作系統的服務器上。對於ASP.Net開發者來說,使用64位環境開發部署需要注意以下幾個問題,可在項目過程中節省不少時間。
1.ASP.Net在64位環境開發部署的常見故障
很多開發者在使用64位操作系統時,在ASP.Net應用中使用了指定64位版本程序庫。例如一些專門的數據庫驅動、設備驅動,但依然出現以下錯誤提示信息:
未能加載文件或程序集“……”或它的某一個依賴項,試圖加載格式不正確的程序。
造成這種故障的原因是,大部分ASP.Net編譯器和容器並沒有默認設置為64位,而是以32位兼容模式運行。此時,如果將程序庫更換為32位,則系統運行正常。若打算堅持使用64位程序集,可依據下文所述方法進行設置。
2.Visual Studio自帶的IISExpress設置
在64位操作系統中,Visual Studio自帶的IIS Express是32位的。如果需要Visual Studio使用IIS Express調試使用64位程序集的ASP.Net應用,應使用64位版本的IIS Express。設置方法如下:
(1)關閉正在運行的IIS Express實例;
(2)單擊主菜單上的“工具”-“選項”命令,打開選項對話框;
(3)在選項對話框目錄樹中“項目和解決方案”-“Web項目”標簽,勾選“對網站和項目使用IIS Express的64位版本”條目。

3.Visual Studio發布Web項目時的設置
在Visual Studio發布ASP.Net項目時,如果設置了在發布期間預編譯功能,Visual Studio將調用ASP.Net編譯器對項目進行編譯。

該編譯器默認選擇的是32位編譯器,而Visual Studio未提供任何配置管理界面。更換64位編譯器的方法為:
(1)找到當前發布Web的配置文件名稱,本例中的文件名稱為PublishConfig;

(2)在解決方案資源管理器的Properies目錄下,找到對應的配置文件,打開進行編輯;

(3)在該配置文件中添加下列語句:
[Microsoft .Net Framework路徑]\ Framework64\[版本號]
例如:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
注意:Visual Studio 2010以前的版本配置方法有所不同,暫時未找到對應解決方案,可選擇不進行預編譯。
4.64位Windows Server上的IIS設置
IIS可以針對具體的ASP.Net應用設置是否以64位環境運行,具體的操作方法如下:
(1)部署Web站點后,打開Internet 信息服務(IIS)管理器;
(2)在目錄中選擇應用程序池,選擇目標站點的應用配置,通過右鍵菜單打開高級設置;
(3)將啟用32位應用程序選項設置為False,應用將以64位環境運行。

5.編譯器是否需要在解決方案配置中設置x64平台
關於此問題,我查閱過一些文檔,同時也進行了實驗。個人觀點如下:
(1)普通的ASP.Net項目無需進行平台的設置,平台設置為x86和x64均不影響項目的編譯和發布,因此使用默認的Any CPU平台即可。
(2)對於使用了有環境限制程序集的項目,如系統驅動、數據庫驅動,最好是配置對應平台。在發布時環境異常,可以獲取更多有效的信息,節省調試時間。
后記
諸多開發者都對微軟的文檔不滿,軟件工程師與律師的職業屬性不同,每日不可能有諸多時間消耗在翻閱類似於法典的MSDN文檔中。而我們希望的是能夠針對可能出現問題的頻率來組織開發資料,這樣開發者將少走很多彎路。
源: http://www.2cto.com/kf/201407/313919.html
