所有承載通用語言執行時(CLR)的應用程式,都需要啟動或 啟用 CLR 才能執行受管程式碼。 通常,.NET Framework 應用程式會依照其所建置的 CLR 版本執行,但你也可以透過應用程式設定檔(有時稱為應用程式.config 檔案)來改變桌面應用程式的這種行為。 不過,你無法透過應用程式設定檔更改 Windows Store 應用程式或 Windows Phone 應用程式的預設啟用行為。 本文說明如何讓您的桌面應用程式能在 .NET Framework 的另一個版本上運行,並提供範例說明如何針對第 4 版或更新版本。
應用程式所執行的 .NET Framework 版本依以下順序決定:
設定檔。
如果應用程式設定檔包含 <supportedRuntime> 條目,指定一個或多個 .NET Framework 版本,且使用者電腦上有其中一個版本,應用程式即可在該版本上執行。 設定檔依據列出的<supportedRuntime>條目順序進行讀取,然後使用在使用者電腦上找到的第一個 .NET Framework 版本。 (對於版本 1.0,請使用
<requiredRuntime>元素。)編譯版。
如果沒有設定檔,但應用程式所使用的 .NET Framework 版本存在於使用者的電腦上,該應用程式就會在該版本上執行。
安裝了最新版本。
如果應用程式所建立的 .NET Framework 版本不存在,且設定檔在元素
<supportedRuntime>中未指定版本,應用程式會嘗試在使用者電腦上存在的最新版本 .NET Framework 上執行。然而,.NET Framework 1.0、1.1、2.0、3.0 及 3.5 應用程式不會自動在 .NET Framework 4 或更新版本上執行,且在某些情況下,使用者可能會收到錯誤訊息並被提示安裝 .NET Framework 3.5。 啟用行為也可能依使用者作業系統而異,因為不同版本的 Windows 系統包含不同版本的 .NET 框架。 如果您的應用程式同時支援 .NET Framework 3.5 和 4 或更新版本,建議您在設定檔中多重項目標示,以避免 .NET Framework 初始化錯誤。 欲了解更多資訊,請參閱 版本與相依關係。
你也可以將 .NET Framework 3.5 應用程式設定為在 .NET Framework 4 或更新版本上運行,即使是在安裝了 .NET Framework 3.5 的電腦上,也能利用 4 版及更新版本的效能提升。
這很重要
我們建議你在支援的每個 .NET Framework 版本上都測試你的應用程式。 請參閱 版本相容 性,了解如何升級您的應用程式以支援後續 .NET Framework 版本的相關資訊。
關於如何修改您的 .NET Framework 1.0 和 1.1 應用程式以支援 Windows 7 和 Windows 8,請參見從 .NET Framework 1.1 遷移。
請在 .NET Framework 4.x 上執行你的應用程式
新增或定位 .NET Framework 專案的設定檔。
應用程式的設定檔是一個 XML 檔案,位於同一個目錄中,且檔案名稱與該應用程式相同,但有 .config 副檔名。 例如,對於一個名為 MyExecutable.exe的應用程式,應用程式設定檔命名 MyExecutable.exe.config為 。
要在 Visual Studio 新增設定檔,找到選單列並選擇 「專案>新增項目」。 從左側窗格選擇 「General 」,然後選擇 「Configuration File」。 設定檔名稱為 應用程式.config。這些選單選項在 Windows 商店應用程式中無法使用,因為你無法更改該平台上的啟用政策。
請依照以下方式在應用程式設定檔中新增 <supportedRuntime> 元素:
<configuration> <startup> <supportedRuntime version="version"/> </startup> </configuration>屬性
version指定與你應用程式支援的 .NET Framework 版本對應的 CLR 版本。 請使用以下弦樂器:- .NET Framework 1.0: “v1.0.3705”
- .NET Framework 1.1: “v1.1.4322”
- .NET Framework 2.0、3.0 與 3.5:「v2.0.50727」
- .NET Framework 4 及更新版本:「v4.0」
你可以依偏好順序新增多個 <supportedRuntime> 元素,以指定支援多個版本的 .NET Framework 版本。
下表說明應用程式設定檔設定及安裝在電腦上的 .NET Framework 版本如何決定 .NET Framework 3.5 應用程式所運行的版本。 這些範例是針對 .NET Framework 3.5 應用程式的,但你也可以用類似的邏輯來針對使用較早期 .NET Framework 版本建置的應用程式。 請注意,.NET Framework 2.0 版本號(v2.0.50727)用於應用程式設定檔中指定 .NET Framework 3.5。
| 應用程式.config 檔案設定 | 在安裝了 3.5 版本的電腦上 | 具備已安裝 3.5 版及 4 或更高版本的電腦 | 在安裝有第 4 版或更新版本的軟體的電腦上 |
|---|---|---|---|
| None | 運行於3.5版本 | 運行於3.5版本 | 顯示錯誤訊息,提示使用者安裝正確版本* |
<supportedRuntime version="v2.0.50727"/> |
運行於3.5版本 | 運行於3.5版本 | 顯示錯誤訊息,提示使用者安裝正確版本* |
<supportedRuntime version="v2.0.50727"/> <supportedRuntime version="v4.0"/> |
運行於3.5版本 | 運行於3.5版本 | 運行於第4版或更新版本 |
<supportedRuntime version="v4.0"/> <supportedRuntime version="v2.0.50727"/> |
運行於3.5版本 | 運行於4或更高版本 | 適用於4或更高版本 |
<supportedRuntime version="v4.0"/> |
顯示錯誤訊息,提示使用者安裝正確版本* | 執行於4或更新版本 | 運行於版本4或更高版本 |
* 欲了解更多關於此錯誤訊息及避免方法,請參閱 .NET Framework 初始化錯誤:管理使用者體驗。