<supportedRuntime> 項目
指定應用程式支援的通用語言執行平臺版本,以及選擇性地.NET Framework版本。
<configuration>
<startup>
<supportedRuntime>
Syntax
<supportedRuntime version="runtime version" sku="SKU ID"/>
屬性
屬性 | 描述 |
---|---|
version | 選擇性屬性。 字串值,用於指定這個應用程式支援的通用語言執行平台 (CLR) 版本。 如需 version 屬性的有效值,請參閱「runtime version」值一節。 注意:透過 .NET Framework 3.5,「執行時間版本」值會採用主要格式。minor。build。 從 .NET Framework 4 開始,只有主要和次要版本號碼 (,也就是 「v4.0」 而不是 「v4.0.30319」) 。 建議使用較短的字串。 |
sku | 選擇性屬性。 字串值,指定庫存單位 (SKU),進而指定哪些應用程式支援的.NET Framework 版本。 從 .NET Framework 4.0 開始,建議使用 sku 屬性。 該屬性存在時,會指出應用程式作為目標的 .NET Framework 版本。如需 sku 屬性的有效值,請參閱「SKU ID」值一節。 |
備註
如果應用程式組態檔中沒有 <supportedRuntime> 項目,則會使用建置應用程式時使用的執行階段版本。
使用執行階段 1.1 版或更新版本所建置的所有應用程式,都應使用 <supportedRuntime> 元素。 若建置的應用程式只支援執行階段 1.0 版,則必須使用 <requiredRuntime> 元素。
注意
如果您使用 CorBindToRuntimeByCfg 函式來指定組態檔,則必須針對執行階段的所有版本使用 <requiredRuntime>
元素。 當您使用 CorBindToRuntimeByCfg 時,會忽略 <supportedRuntime>
元素。
針對所支援執行階段為 .NET Framework 1.1 到 3.5 版本的應用程式,當支援多個執行階段版本時,第一個項目應該指定最常用的執行階段版本,而最後一個項目則指定最少用的版本。 對於支援 .NET Framework 4.0 或更新版本的應用程式,屬性 version
會指出 CLR 版本,這是 .NET Framework 4 和更新版本通用的,而 sku
屬性則表示應用程式目標的單一.NET Framework版本。
如果具有 屬性的supportedRuntime > 元素存在於組態檔中,且已安裝的.NET Framework版本低於指定的支援版本,則應用程式無法執行,並改為顯示要求安裝支援版本的訊息。 <sku
否則,應用程式會嘗試在任何已安裝的版本上執行,但如果它與該版本不完全相容,可能會發生意外的行為。 (如需.NET Framework版本之間的相容性差異,請參閱 .NET Framework.) 中的應用程式相容性。因此,建議您在應用程式組態檔中包含這個專案,以便更輕鬆地進行錯誤診斷。 (建立新專案時,Visual Studio 自動產生的組態檔已包含。)
注意
如果您的應用程式使用舊版啟用路徑,例如CorBindToRuntimeEx 函式,而且您想要讓這些路徑啟動第 4 版 CLR 而不是舊版,或您的應用程式是以 .NET Framework 4 建置,但相依于使用舊版 .NET Framework建置的混合模式元件,則無法指定在支援的執行時間清單中.NET Framework 4。 此外,在組態檔的 <startup> 項目中,您必須將 useLegacyV2RuntimeActivationPolicy
屬性設定為 true
。 不過,將此屬性設定為 true
表示使用舊版.NET Framework建置的所有元件都會使用 .NET Framework 4 來執行,而不是使用建置的執行時間。
建議您使用應用程式能夠執行的所有 .NET Framework 版本進行應用程式測試。
「執行階段版本」值
runtime
屬性會指定指定指定應用程式所需的 Common Language Runtime (CLR) 版本。 所有.NET Framework v4.x 版本都會 v4.0
指定 CLR。 下表列出 version
屬性執行階段版本值的有效值。
.NET Framework 版本 | version 屬性 |
---|---|
1.0 | "v1.0.3705" |
1.1 | "v1.1.4322" |
2.0 | "v2.0.50727" |
3.0 | "v2.0.50727" |
3.5 | "v2.0.50727" |
4.0-4.8.1 | "v4.0" |
「SKU ID」值
屬性 sku
會使用目標架構 Moniker (TFM) 來指出應用程式的目標.NET Framework版本,而且需要執行。 下表列出 屬性支援 sku
的有效值,從 .NET Framework 4 開始。
.NET Framework 版本 | sku 屬性 |
---|---|
4.0 | ".NETFramework,Version=v4.0" |
4.0,Client Profile | ".NETFramework,Version=v4.0,Profile=Client" |
4.0,平台更新 1 | ".NETFramework,Version=v4.0.1」 |
4.0,Client Profile,更新 1 | ".NETFramework,Version=v4.0.1,Profile=Client」 |
4.0,平台更新 2 | ".NETFramework,Version=v4.0.2」 |
4.0,Client Profile,更新 2 | ".NETFramework,Version=v4.0.2,Profile=Client」 |
4.0,平台更新 3 | ".NETFramework,Version=v4.0.3」 |
4.0,Client Profile,更新 3 | ".NETFramework,Version=v4.0.3,Profile=Client」 |
4.5 | ".NETFramework,Version=v4.5" |
4.5.1 | ".NETFramework,Version=v4.5.1" |
4.5.2 | ".NETFramework,Version=v4.5.2" |
4.6 | ".NETFramework,Version=v4.6" |
4.6.1 | ".NETFramework,Version=v4.6.1" |
4.6.2 | ".NETFramework,Version=v4.6.2」 |
4.7 | ".NETFramework,Version=v4.7」 |
4.7.1 | ".NETFramework,Version=v4.7.1」 |
4.7.2 | ".NETFramework,Version=v4.7.2」 |
4.8 | ".NETFramework,Version=v4.8」 |
4.8.1 | ".NETFramework,Version=v4.8.1」 |
範例
下列範例將示範如何在設定檔中指定支援的執行階段版本。 組態檔表示應用程式以 .NET Framework 4.7 為目標。
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
</startup>
</configuration>
組態檔
這個項目可以在應用程式組態檔中使用。