使用 Visual Studio ASP.NET Web 部署:疑難排解

作者 :Tom Dykstra

下載入門專案

本教學課程系列說明如何使用 Visual Studio 2012 或 Visual Studio 2010,將 (發佈) ASP.NET Web 應用程式部署至Azure App 服務 Web Apps或協力廠商裝載提供者。 如需系列的相關資訊,請參閱系列 中的第一個教學課程。

此頁面描述使用 Visual Studio 部署 ASP.NET Web 應用程式時可能發生的一些常見問題。 針對每個原因,會提供一或多個可能的原因和對應的解決方案。

顯示的案例適用于 Azure 和協力廠商主機提供者。 如需在 Azure App Service 中疑難排解 Web 應用程式的詳細資訊,請參閱下列資源:

'/' 應用程式中的伺服器錯誤 - 目前的自訂錯誤設定可防止從遠端檢視錯誤的詳細資料

狀況

將月臺部署至遠端主機之後,您會收到錯誤訊息,其中提及Web.config檔案中的 customErrors 設定,但未指出錯誤的實際原因:

Server Error in '/' Application.
Runtime Error 

Description: An application error occurred on the server. The current custom error settings 
for this application prevent the details of the application error from being viewed remotely 
(for security reasons). It could, however, be viewed by browsers running on the local server 
machine. 

Details: To enable the details of this specific error message to be viewable on remote machines,
please create a <customErrors> tag within a "web.config" configuration file located in the
root directory of the current web application. This <customErrors> tag should then have its
"mode" attribute set to "Off".

可能的原因和解決方案

根據預設,只有當 Web 應用程式在本機電腦上執行時,ASP.NET 才會顯示詳細的錯誤資訊。 一般而言,當您的 Web 應用程式可透過網際網路公開使用時,您不想顯示詳細的錯誤資訊,因為駭客可能會使用這項資訊來尋找應用程式中的弱點。 不過,當您將月臺或更新部署到月臺時,有時會發生錯誤,而且您需要取得實際的錯誤訊息。

若要讓應用程式在遠端主機上執行時顯示詳細的錯誤訊息,請編輯Web.config檔案以關閉 customErrors 模式、重新部署應用程式,然後再次執行應用程式:

  1. 如果應用程式Web.config檔案在 system.web 元素中有 customErrors 元素,請將 mode 屬性變更為 「off」。 否則,請在 system.web 元素中新增 customErrors 元素,並將 mode 屬性設定為 「off」,如下列範例所示:

    <configuration>
      <system.web>
        <customErrors mode="off"/>
      </system.web>
    </configuration>
    
  2. 部署應用程式。

  3. 執行應用程式,並重複您稍早所做的任何動作,導致發生錯誤。 現在您可以看到實際的錯誤訊息是什麼。

  4. 當您解決錯誤時,請還原原始的 customErrors 設定,並重新部署應用程式。

當該檔案已經存在時,無法建立/陰影複製 'ContosoUniversity'。

狀況

當您嘗試在 Visual Studio 中執行專案時,會收到錯誤頁面,其中包含類似下列範例的訊息:

'/' 應用程式中有伺服器錯誤。 當該檔案已經存在時,無法建立/陰影複製 'ContosoUniversity'。

可能的原因和解決方案

請稍候一分鐘並重新整理瀏覽器,或重新編譯網站,然後再試一次執行。

使用 SQL Server Compact 的網頁拒絕存取

狀況

當您部署使用SQL Server Compact的網站,並在存取資料庫的已部署網站中執行頁面時,您會看到下列錯誤訊息:

存取遭到拒絕。 (來自 HRESULT 的例外狀況:0x80070005 (E_ACCESSDENIED))

可能的原因和解決方案

伺服器上的 NETWORK SERVICE 帳戶必須能夠讀取 bin\amd64bin\x86 資料夾中的 SQL Service Compact 原生二進位檔,但沒有這些資料夾的讀取權限。 在 bin 資料夾上設定 NETWORK SERVICE 的讀取權限,請務必將許可權延伸至子資料夾。

因為許可權不足而無法讀取組態檔

狀況

當您按一下 [Visual Studio 發佈] 按鈕將應用程式部署至本機電腦上的 IIS 時,發佈會失敗,[ 輸出 ] 視窗會顯示類似以下的錯誤訊息:

讀取 IIS 組態檔 'MACHINE/REDIRECTION' 時發生錯誤。 執行此作業的身分識別為 ...錯誤:因為許可權不足,所以無法讀取組態檔。

可能的原因和解決方案

若要在本機電腦上使用單鍵發佈至 IIS,您必須以系統管理員許可權執行 Visual Studio。 關閉 Visual Studio,並使用系統管理員許可權將其重新開機。

無法連線到目的地電腦...使用指定的進程

狀況

當您按一下 [Visual Studio 發佈] 按鈕來部署應用程式時,發佈會失敗,[ 輸出 ] 視窗會顯示類似以下的錯誤訊息:

Web deployment task failed.(Could not connect to the destination computer ("<server URL>") using the specified process
("The Web Management Service"). This can happen if a proxy server is interrupting communication with the destination server. 
Disable the proxy server and try again.) ... The remote server returned an error: (502) Bad Gateway.

可能的原因和解決方案

Proxy 伺服器正在中斷與目的地伺服器的通訊。 從 Windows 主控台 或在 Internet Explorer 中,選取[網際網路選項],然後選取 [連線] 索引標籤。在 [網際網路內容]對話方塊中,按一下 [LAN 設定]。 在 [ 區域網路 (LAN) 設定 ] 對話方塊中,清除 [ 自動偵測設定 ] 核取方塊。 然後再次按一下 [發佈] 按鈕。

如果問題持續發生,請連絡您的系統管理員,以判斷 Proxy 或防火牆設定可以執行的動作。 發生此問題的原因是 Web Deploy 會針對 Web Management Service 部署使用非標準埠, (8172) ;針對其他連線,Web Deploy 會使用埠 80。 當您部署至協力廠商主機提供者時,您通常會使用 Web 管理服務。

預設 .NET 4.0 應用程式集區不存在

狀況

當您部署需要 .NET Framework 4 的應用程式時,您會看到下列錯誤訊息:

預設的 .NET 4.0 應用程式集區不存在或無法新增應用程式。 請確認此電腦上已安裝 ASP.NET 4.0。

可能的原因和解決方案

ASP.NET 4 未安裝在 IIS 中。 如果您要部署的伺服器是開發電腦,且已安裝 Visual Studio 2010,ASP.NET 4 會安裝在電腦上,但可能不會安裝在 IIS 中。 在您要部署至的伺服器上,開啟提升許可權的命令提示字元,然後執行下列命令,在 IIS 中安裝 ASP.NET 4:

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –iru

您可能也需要手動設定預設應用程式集區的.NET Framework版本。 如需詳細資訊,請參閱本系列中的部署至 IIS 作為測試環境教學課程。

初始化字串的格式不符合從索引 0 開始的規格。

狀況

使用單鍵發佈部署應用程式之後,當您執行存取資料庫的頁面時,會收到下列錯誤訊息:

初始化字串的格式不符合從索引 0 開始的規格。

可能的原因和解決方案

在已部署的月臺中開啟 Web.config檔案, 並檢查連接字串值是否以 開頭 $(ReplaceableToken_ ,如下列範例所示:

<connectionStrings>
  <add name="DefaultConnection" connectionString="$(ReplaceableToken_DefaultConnection-Web.config Connection String_0)" providerName="System.Data.SqlServerCe.4.0" />
  <add name="SchoolContext" connectionString="$(ReplaceableToken_SchoolContext-Web.config Connection String_0)" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>

如果連接字串看起來像這個範例,請編輯專案檔,並將下列屬性新增至所有組建組態的 PropertyGroup 元素:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

然後重新部署應用程式。

HTTP 500 內部伺服器錯誤

狀況

當您執行已部署的月臺時,您會看到下列錯誤訊息,而沒有指出錯誤原因的特定資訊:

HTTP 錯誤 500 - 內部伺服器錯誤。

可能的原因和解決方案

有許多原因造成 500 個錯誤,但如果您遵循這些教學課程,可能是您在其中一個Web.config轉換檔案中放置 XML 元素的錯誤位置。 例如,如果您將位置元素插入 system.web > 下的轉換,而不是直接在 < 組態 > 下 < 插入 < 位置 > 元素,就會發生此錯誤。 您可以使用Web.config轉換預覽功能來確認轉換如預期般運作。 如果您發現未正確編碼的轉換是更正轉換檔案並重新部署,解決方案。 如果錯誤不明顯,請嘗試批註化轉換並重新部署,以查看哪一個造成 500 錯誤。

HTTP 500.21 內部伺服器錯誤

狀況

當您執行已部署的網站時,您會看到下列錯誤訊息:

HTTP 錯誤 500.21 - 內部伺服器錯誤。 處理常式 「PageHandlerFactory-Integrated」 在其模組清單中有不正確的模組 「ManagedPipelineHandler」。

可能的原因和解決方案

您已部署的目標 ASP.NET 4,但伺服器上未在 IIS 中註冊 ASP.NET 4。 在伺服器上開啟提升許可權的命令提示字元,並執行下列命令來註冊 ASP.NET 4:

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –iru

您可能也需要手動設定預設應用程式集區的.NET Framework版本。 如需詳細資訊,請參閱本系列中的部署至 IIS 作為測試環境教學課程。

登入無法在 App_Data 中開啟 SQL Server Express 資料庫

狀況

您已更新Web.config檔案連接字串,以指向 SQL Server Express 資料庫作為App_Data資料夾中的.mdf檔案,第一次執行應用程式時,您會看到下列錯誤訊息:

System.Data.SqlClient.SqlException:無法開啟登入所要求的資料庫 「DatabaseName」。 登入失敗。

可能的原因和解決方案

.mdf檔案的名稱無法比對電腦上已存在的任何SQL Server Express資料庫名稱,即使您刪除了先前現有資料庫的.mdf檔案也一樣。 將 .mdf 檔案名變更為從未做為資料庫名稱的名稱,並將 Web.config 檔案變更為使用新名稱。 或者,您可以使用SQL Server Management Studio Express來刪除先前現有的SQL Server Express資料庫。

無法檢查模型相容性

狀況

您已更新Web.config檔案連接字串,以指向新的SQL Server Express資料庫,第一次執行應用程式時,您會看到下列錯誤訊息:

無法檢查模型相容性,因為資料庫不包含模型中繼資料。 確定 IncludeMetadataConvention 已新增至 DbModelBuilder 慣例。

可能的原因和解決方案

如果您在電腦上之前曾使用您放在Web.config檔案中的資料庫名稱,資料庫可能已經有一些資料表存在。 選取之前尚未在電腦上使用的新名稱,並將 Web.config 檔案變更為指向使用此新的資料庫名稱。 或者,您可以使用SQL Server Express 公用程式SQL Server Management Studio Express來刪除現有的資料庫。

當腳本嘗試建立使用者或角色時發生 SQL 錯誤

狀況

您使用在 [ 封裝/發佈 SQL ] 索引標籤上設定的資料庫部署、在部署期間執行的 SQL 腳本包括建立使用者或建立角色命令,並在執行這些命令時腳本執行失敗。 您可能會看到更詳細的訊息,例如:

The approximate location of the error was between lines '1' and '3' of the script. 
The verbose log may have more information about the error. The command started with:
CREATE USER [user2] FOR LOGIN [user2] WITH DEFAULT
Error: User does not have permission to perform this action.

如果您在 [發佈 Web 精靈] 中設定資料庫部署,而不是 [ 封裝/發佈 SQL ] 索引標籤時發生此錯誤,請在組 態和部署 論壇中建立執行緒,並將解決方案新增至此疑難排解頁面。

可能的原因和解決方案

您用來執行部署的使用者帳戶沒有建立使用者或角色的許可權。 例如,裝載公司可能會將db_datareader、db_datawriter,以及db_ddladmin角色指派給您所設定的使用者帳戶。 這些足以建立大部分的資料庫物件,但不適用於建立使用者或角色。 避免錯誤的其中一種方式是排除資料庫部署中的使用者和角色。 您可以編輯資料庫自動產生腳本的 PreSource 元素,使其包含下列屬性,以執行此動作:

CopyAllUsers=false, CopyAllRoles=false

如需如何在專案檔中編輯 PreSource 元素的資訊,請參閱 How to: Edit Deployment Settings in the Project File。 如果您的開發資料庫中的使用者或角色必須位於目的地資料庫中,請連絡您的主控提供者以取得協助。

部署期間執行自訂腳本時發生SQL Server逾時錯誤

狀況

您已指定要在部署期間執行的自訂 SQL 腳本,並在 Web Deploy 執行時逾時。

可能的原因和解決方案

執行多個具有不同交易模式的腳本可能會導致逾時錯誤。 根據預設,自動產生的腳本會在交易中執行,但自訂腳本不會執行。 如果您在 [封裝/發佈 SQL] 索引標籤上,從現有的資料庫選項中選取 [提取資料和/或架構],而且如果您新增自訂 SQL 腳本,則必須變更某些腳本上的交易設定,讓所有腳本都使用相同的交易設定。 如需詳細資訊,請參閱 如何:使用 Web 應用程式專案部署資料庫

如果您已設定交易設定,讓所有專案都相同,但仍收到此錯誤,則可能的因應措施是個別執行腳本。 在 [封裝/發行SQL] 索引標籤的 [資料庫腳本] 方格中,清除造成逾時錯誤的腳本的 [包含] 核取方塊,然後發佈專案。 然後回到 [ 資料庫腳本 ] 方格,選取該腳本的 [ 包含 ] 核取方塊,然後清除其他腳本的 [包含 ] 核取方塊。 然後再次發佈專案。 這次當您發佈時,只會執行選取的自訂腳本。

月臺資訊清單的資料流程資料尚無法使用

狀況

當您使用 deploy.cmd 檔案搭配 t (測試) 選項來安裝套件時,您會看到下列錯誤訊息:

錯誤:尚未提供 'sitemanifest/dbFullSql[@path='C:\TEMP\AdventureWorksGrant.sql']/sqlScript' 的資料流程資料。

可能的原因和解決方案

錯誤訊息表示命令無法產生測試報告。 不過,如果您使用 y (實際安裝) 選項,命令可能會執行。 此訊息只會指出在測試模式中執行命令時發生問題。

此應用程式需要 ManagedRuntimeVersion v4.0

狀況

當您嘗試部署時,您會看到下列錯誤訊息:

您嘗試使用的應用程式集區已將 'managedRuntimeVersion' 屬性設定為 'v2.0'。 此應用程式需要 'v4.0'。

可能的原因和解決方案

ASP.NET 4 未安裝在 IIS 中。 如果您要部署的伺服器是開發電腦,且已安裝 Visual Studio 2010,ASP.NET 4 會安裝在電腦上,但可能不會安裝在 IIS 中。 在您要部署的伺服器上,執行下列命令,開啟提升許可權的命令提示字元,並在 IIS 中安裝 ASP.NET 4:

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –i

無法轉換 Microsoft.Web.Deployment.DeploymentProviderOptions

狀況

當您部署套件時,您會看到下列錯誤訊息:

無法將 'Microsoft.Web.Deployment.DeploymentProviderOptions' 類型的物件轉換成 'Microsoft.Web.Deployment.DeploymentProviderOptions'。

可能的原因和解決方案

您嘗試使用 Web Deploy 1.1 UI 從 IIS 管理員部署至已安裝 Web Deploy 2.0 的伺服器。 如果您使用 IIS 遠端系統管理工具來部署套件,請在建立連線時勾選 [ 新功能可用 ] 對話方塊。 (此對話方塊可能只會在第一次建立連線時顯示一次。若要清除連線並重新啟動,請關閉 IIS 管理員,然後在命令提示字元中輸入 inetmgr /reset,) 如果列出的其中一個功能是 Web Deploy UI,且版本號碼低於 8,則您部署的伺服器可能同時安裝 1.1 和 2.0 版的 Web Deploy。 若要從已安裝 2.0 的用戶端進行部署,伺服器必須只安裝 Web Deploy 2.0。 您必須連絡您的主機提供者以解決此問題。

無法載入 SQL Server Compact 的原生元件

狀況

當您執行已部署的網站時,您會看到下列錯誤訊息:

無法載入對應至 8482 版 ADO.NET 提供者的原生元件SQL Server Compact。 安裝正確的 SQL Server Compact 版本。 如需詳細資訊,請參閱知識庫文章974247。

可能的原因和解決方案

已部署的網站沒有 amd64x86 子資料夾,其原生元件位於應用程式的 bin 資料夾下。 在已安裝SQL Server Compact的電腦上,原生元件位於C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private中。 將正確的檔案放入 Visual Studio 專案中正確資料夾的最佳方式是安裝 NuGet SqlServerCompact 套件。 套件安裝會新增建置後腳本,以將原生元件複製到 amd64x86。 不過,若要部署這些專案,您必須手動將它們包含在專案中。 如需詳細資訊,請參閱部署SQL Server Compact教學課程。

部署 Entity Framework Code First 應用程式之後的「路徑無效」錯誤

狀況

您可以部署使用 Entity Framework Code First 移轉 和 DBMS 的應用程式,例如SQL Server Compact,它會將其資料庫儲存在 App_Data 資料夾中的檔案中。 您已Code First 移轉設定為在第一次部署之後建立資料庫。 當您執行應用程式時,會收到類似下列範例的錯誤訊息:

路徑無效。 檢查資料庫的目錄。 [Path = c:\inetpub\wwwroot\App_Data\DatabaseName.sdf ]

可能的原因和解決方案

Code First 嘗試建立資料庫,但App_Data資料夾不存在。 部署時,您在[App_Data]資料夾中沒有任何檔案,或在 [專案] 屬性視窗的 [封裝/發佈 Web] 索引標籤上選取 [排除App_Data]。 如果資料夾中沒有要複製到伺服器的檔案,部署程式將不會在伺服器上建立資料夾。 如果您已在月臺中設定資料庫,如果您選取 [在發佈設定檔的目的地移除其他檔案],部署程式將會刪除檔案和App_Data資料夾本身。 若要解決此問題,請將預留位置檔案,例如.txt檔案放在 App_Data 資料夾中,請確定您未選取 [ 排除App_Data ],然後重新部署。

「無法使用已與其基礎 RCW 分開的 COM 物件。」

狀況

您已成功使用單鍵發佈來部署應用程式,然後開始收到此錯誤:

Web 部署工作失敗。 (無法完成遠端代理程式 URL ' <https://serverurl.com/msdeploy.axd?site=sitename> '.) 的要求
無法完成遠端代理程式 URL ' <https://url/msdeploy.axd?site=sitename> ' 的要求。
要求已中止:要求已取消。
無法使用已與其基礎 RCW 分隔的 COM 物件。

可能的原因和解決方案

關閉並重新啟動 Visual Studio 通常是解決此錯誤所需的所有專案。

部署失敗,因為用於發佈的使用者認證沒有 setACL 授權單位

狀況

發佈失敗,並出現錯誤,指出您沒有許可權可設定資料夾許可權, (您使用的使用者帳戶沒有 setACL 授權單位) 。

可能的原因和解決方案

根據預設,Visual Studio 會設定月臺根資料夾的讀取權限,以及App_Data資料夾的寫入權限。 如果您知道網站資料夾的預設許可權正確且不需要設定,請將IncludeSetACLProviderOn Destination > False < /IncludeSetACLProviderOnDestination > 新增 <至發行設定檔檔, (以影響單一設定檔) 或 wpp.targets 檔案 (以影響所有設定檔) 。 如需如何編輯這些檔案的資訊,請參閱 How to: Edit Deployment Settings in Profile (.pubxml) Files

當應用程式嘗試寫入應用程式資料夾時,拒絕存取錯誤

狀況

當應用程式嘗試在其中一個應用程式資料夾中建立或編輯檔案時發生錯誤,因為它沒有該資料夾的寫入授權。

可能的原因和解決方案

根據預設,Visual Studio 會設定月臺根資料夾的讀取權限,以及App_Data資料夾的寫入權限。 如果您的應用程式需要子資料夾的寫入權限,您可以設定該資料夾的許可權,如本系列中的設定資料夾許可權和部署至生產環境教學課程所示。 如果您的應用程式需要網站根資料夾的寫入權限,您必須將IncludeSetACLProviderOn Destination > False < /IncludeSetACLProviderOnDestination > 新增 <至發行設定檔檔, (將它設定為根資料夾的唯讀存取權,以影響單一設定檔) 或 wpp.targets 檔案 (以影響所有設定檔) 。 如需如何編輯這些檔案的資訊,請參閱 How to: Edit Deployment Settings in Profile (.pubxml) Files

組態錯誤 - targetFramework 屬性會參考比安裝版本的更新版本.NET Framework

狀況

您已成功發行以 ASP.NET 4.5 為目標的 Web 專案,但當您執行應用程式 (時,Web.config檔案中的 customErrors 模式設定為 「off」,) 您會收到下列錯誤:

Web.config檔案之編譯 > 專案中的 'targetFramework' 屬性 < 只會用來以 .NET Framework (4.0 版和更新版本為目標,例如 ' < compilation targetFramework=「4.0」 > ') 。 'targetFramework' 屬性目前參考的版本比安裝版本的.NET Framework更新版本。 指定.NET Framework的有效目標版本,或安裝所需的.NET Framework版本。

錯誤頁面的 [來源錯誤] 方塊會反白顯示下列Web.config行,做為錯誤的原因:

<編譯 targetFramework=「4.5」 />

可能的原因和解決方案

伺服器不支援 ASP.NET 4.5。 請連絡主機提供者,以判斷是否可新增 ASP.NET 4.5 的支援。 如果升級伺服器不是選項,您必須改為部署以 ASP.NET 4 或更早版本為目標的 Web 專案。

如果您將 ASP.NET 4 或更早版本的 Web 專案部署到相同的目的地,請在[發佈 Web精靈] 的 [設定] 索引標籤上,選取 [在目的地移除其他檔案] 核取方塊。 如果您未選取 [ 在目的地移除其他檔案],您將會繼續取得 [設定錯誤] 頁面。

專案[屬性] 視窗包含 [目標 Framework] 下拉式清單,但您只要將它從.NET Framework 4.5變更為.NET Framework 4,就無法解決此問題。 如果您將目標 Framework 變更為舊版架構,專案仍會參考較新版本的元件,且不會執行。 您必須手動變更這些參考,或建立以 .NET Framework 4 或更早版本為目標的新專案。 如需詳細資訊,請參閱.NET Framework網站的目標

中度信任錯誤

狀況

當您在生產環境中執行應用程式時,它會收到與中度信任相關的錯誤。

可能的原因和解決方案

許多協力廠商主機提供者會以中型信任執行您的網站,這表示不允許執行某些動作。 例如,應用程式程式碼無法存取 Windows 登錄,而且無法讀取或寫入應用程式資料夾階層外部的檔案。 根據預設,您的應用程式會在本機電腦上以 完全信任 的方式執行,這表示應用程式在部署至生產環境時可能會失敗。

您可以將應用程式設定為在本機 IIS 環境中以中型信任執行,以進行疑難排解。 若要這樣做,請開啟應用程式Web.config檔案,並在system.web元素中新增信任專案,如本範例所示。

<configuration>
  <!-- Settings -->
  <system.web>
    <trust level="Medium" />
    <!-- Settings -->
  </system.web>
</configuration>

應用程式現在會在 IIS 的中度信任中執行,即使是在本機電腦上也一般。

如果您要部署至 Azure App 服務,請勿這麼做,因為 Azure 不需要中度信任。 在本教學課程于 2012 年 2 月撰寫時,使用此方法讓您的應用程式在中度信任中執行,將會導致 Azure 發生錯誤。

如果您使用 Entity Framework Code First 移轉,而且您要部署至在中度信任中執行應用程式的主機提供者,請確定您已安裝 5.0 版或更新版本。 在 Entity Framework 4.3 版中,移轉需要完全信任,才能更新資料庫架構。

HTTP 404.17 找不到錯誤

狀況

當您在 IIS 中的開發電腦上執行部署的網站時,您會看到下列錯誤訊息,指出伺服器無法處理 Default.aspx:

HTTP 錯誤 404.17 - 找不到

要求的內容似乎為腳本,且不會由靜態檔案處理常式提供。

可能的原因和解決方案

ASP.NET 4.5 可能未安裝在您的電腦上。 請參閱本系列中部署至 IIS 作為測試環境教學課程中的步驟,其中說明如何安裝 ASP.NET 4.5。