共用方式為


管理 ASP.NET 的多個版本

.NET Framework 可以讓您在電腦上安裝多個版本的 Runtime。這讓 ASP.NET 應用程式可以使用它需要的版本來執行,而不會影響到其他應用程式。下列章節說明如何在同一部電腦上安裝、解除安裝及轉散發 ASP.NET 的多個版本。

安裝 ASP.NET 的多個版本

若要將 ASP.NET 的某個版本加入電腦,請執行欲安裝版本的 .NET Framework 可轉散發套件安裝程式 (Dotnetfx.exe)。當符合下列條件時,依預設,所有現有的 ASP.NET 應用程式都會在安裝期間自動重新設定,以使用 Runtime 的安裝版本:

  • 安裝的 .NET Framework 版本比目前對應至應用程式的版本還新。

  • 安裝的 .NET Framework 版本與對應至應用程式的版本相容。一般來說,版本號碼可決定相容性。次要修訂編號和組建編號的變更通常可以相容,而主要修訂編號則否。

    警告 雖然在符合前述條件時 ASP.NET 應用程式會自動更新成使用 ASP.NET 的安裝版本,但是目前的 Machine.config 檔中的自訂組態設定卻不會傳送到正在安裝的 Machine.config 檔。如果您的應用程式使用自訂組態設定,請務必手動更新新的 Machine.config 檔,或是使用 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe) 將應用程式重新對應至舊版的 ASP.NET。如需重新對應應用程式的詳細資訊,請參閱針對 ASP.NET 版本設定 ASP.NET 應用程式

若要避免將所有現有的應用程式自動重新對應至正在安裝的 .NET Framework 版本,請在 Dotnetfx.exe 安裝程式上使用 /noaspupgrade 命令列選項。以下顯示完整的命令列:

Dotnetfx.exe /c:"install /noaspupgrade"

如需 .NET Framework 可轉散發套件的詳細資訊,請參閱轉散發 .NET Framework

IIS 6.0 中的安全性鎖定主控台

如果您使用 Internet Information Services 6.0,您可能必須在安裝 ASP.NET 之後啟用 Internet Information Services 管理主控台中的 ASP.NET。IIS 6.0 引進一個新的安全性鎖定主控台,可讓管理員自由選擇啟用及停用 IIS 中的功能。當使用 IIS 6.0 的電腦上安裝了 ASP.NET 1.1 版 (含) 以後版本時,安裝指令碼會為該版本的 ASP.NET 建立 Metabase 索引鍵。這個 Metabase 索引鍵可讓 ASP.NET 成為出現在主控台中的可設定元件。安裝指令碼會為 ASP.NET 的每一個已安裝版本建立個別的索引鍵,使每個版本都可在主控台中個別設定。從電腦中解除安裝某一版的 ASP.NET時,個別的索引鍵也會一併移除。

注意 如果 ASP.NET 是透過 [控制台] 中的 [新增或移除程式] 項目或 [設定您的伺服器精靈] 來安裝的,安全性鎖定主控台中的 ASP.NET 便會預設啟用。但是,如果它是透過 Microsoft Visual Studio .NET、Windows Update 或 .NET Framework 可轉散發套件 (Dotnetfx.exe) 來安裝的,ASP.NET 則會預設停用。

若要管理安全性鎖定主控台中的項目

  1. 開啟 Internet Information Services 管理主控台。
  2. 按一下加號展開本機電腦。
  3. 按一下 [網頁服務延伸] 資料夾。安全性鎖定主控台便會出現在右側的框架 (Frame) 中。
  4. 選取 [擴充] 索引標籤後,再按一下您想設定的 Web Service Extension 項目。
  5. 按一下 [允許] 或 [禁止] 按鈕啟用或停用該項目。
  6. 按一下 [新增網頁服務延伸] 連結,將新項目加入主控台。

解除安裝 ASP.NET 其中一個版本

如果您在電腦上安裝了多個版本的 ASP.NET,則可以使用個別移除的方式解除安裝其中一個版本。ASP.NET 的解除安裝通常是藉由解除安裝 .NET Framework (透過 [控制台] 的 [新增或移除程式] 項目) 來完成。在解除安裝程序期間,安裝程式會使用 -u 選項 (解除安裝旗標) 呼叫 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe)。

注意 如果您只想解除安裝某一版 ASP.NET,但不想解除安裝關聯的 .NET Framework,您可以直接使用 Aspnet_regiis.exe。.NET Framework 的每一個安裝版本都含有這個工具的關聯版本。如果只要解除安裝 ASP.NET,請使用這個工具的 -u 選項;工具的版本必須是與您想解除安裝的 ASP.NET 版本關聯者。如需詳細資訊,請參閱 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe)

Aspnet_regiis.exe 的 -u 選項會執行下列動作:

  • 目前對應至正在解除安裝之 ASP.NET 版本的所有 ASP.NET 應用程式都會重新對應至電腦上第二新的相容版本。如果沒有相容版本存在,則會完全除移應用程式的指令碼對應。

    警告 移除指令碼對應會使 IIS 以常值 (Literal) 文字來處理 ASP.NET 頁面,而可能將原始程式碼公開 (Expose) 給用戶端。

  • 「ASP.NET 狀態服務」(ASP.NET State Service) 是跨 ASP.NET 所有相容版本共用,且永遠對應到已安裝的最新版 ASP.NET。如果您正在解除安裝的 ASP.NET 版本是目前最新的版本,則會註冊電腦上次高的相容版本來加以取代。如果沒有相容版本存在,則會解除安裝「ASP.NET 狀態服務」。

  • 正在解除安裝之版本的特定效能物件及其關聯效能計數器都會被移除。適用於ASP.NET 所有已安裝版本的泛用效能物件和計數器、ASP.NETASP.NET 應用程式,都會被重新導向至電腦上剩下的最新已安裝版本。

  • ASPNET 使用者帳戶是跨 ASP.NET 的所有相容版本共用。如果電腦上沒有保留其他的 ASP.NET 安裝版本,ASPNET 使用者帳戶和相關的存取控制清單就會被移除。

如需安裝 ASP.NET 多個版本的其他效果的資訊,請參閱 ASP.NET 並存功能概觀

.NET Framework 協力廠商轉散發

協力廠商應用程式可以在特殊轉散發授權規範下,封裝及安裝 .NET Framework,作為其安裝的一部份,使應用程式可以安裝執行所需的特定版本 .NET Framework。我們提供了 .NET Framework 可轉散發套件 (Dotnetfx.exe) 供應用程式使用 Runtime 來部署。Dotnetfx.exe 的預設安裝指令碼可能無法符合您應用程式的需求。在應用程式的安裝過程中一併安裝 .NET Framework 時,協力廠商應用程式開發人員可以自行決定是否要使用下述選項。

如需 .NET Framework 可轉散發套件的詳細資訊,請參閱轉散發 .NET Framework。如需可轉發套件的 EULA 詳細資訊,請參閱何處可以取得 .NET Framework 可轉散發套件

停用自動指令碼對應更新

依預設,當 .NET Framework 安裝在已有現有安裝版本的電腦上時,所有的 ASP.NET 應用程式都會自動更新成使用這個版本的 .NET Framework,除非應用程式繫結至 Runtime 的不相容版本,或是較新版的 Runtime。通常,只有系統管理員才會執行這種安裝類型。當 .NET Framework 是作為應用程式安裝過程的一部份安裝時,它應該不會強制電腦上的其他應用程式使用該版本 Runtime。

在安裝指令碼的執行過程中,Dotnetfx.exe 通常會使用 -i 選項呼叫 ASP.NET IIS 註冊工具,以安裝 ASP.NET。這個選項會試圖更新所有現有 ASP.NET 應用程式的指令碼對應。為了防止安裝程序自動更新電腦上的其他應用程式,Dotnetfx.exe 提供了一個 /noaspnetupgrade 選項。這個選項會讓安裝程式改用 Aspnet_regiis.exe 的 -ir 選項,以略過自動指令碼對應更新、預設文件和 MIME 交換等步驟。以下顯示完整的命令列:

Dotnetfx.exe /c:"install /noaspupgrade"

手動更新指令碼對應

有時您必須手動設定應用程式的指令碼對應。如果應用程式需要有自己的虛擬目錄,用來指定 .NET Framework 的安裝版本,則請確定應用程式的安裝程式也會使用 -s 或 -sn 選項明確呼叫 Aspnet_regiis.exe 來設定指令碼對應。

下列命令列範例將為名為 SampleApp1 的應用程式更新指令碼對應。

Aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1

如需詳細資訊,請參閱 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe)

請參閱

ASP.NET 中的並存支援 | ASP.NET IIS 註冊工具 (Aspnet_regiis.exe) | 轉散發 .NET Framework | 何處可以取得 .NET Framework 可轉散發套件