ASP.Net在64位環境開發部署常見問題


越來越多的開發團隊開始使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM