<supportPortability> 元素
指定應用程式可以在兩個不同的 .NET Framework 實作中參考相同的組件,方法是停用將組件視為同等的預設行為 (此預設行為是基於應用程式可攜性的考量)。
<configuration>
<runtime>
<assemblyBinding>
<supportPortability>
Syntax
<supportPortability PKT="public_key_token" enabled="true|false"/>
屬性和項目
下列章節說明屬性、子元素和父元素。
屬性
屬性 | 描述 |
---|---|
PKT | 必要屬性。 將受影響組件的公開金鑰權杖指定為字串。 |
已啟用 | 選擇性屬性。 指定是否應該啟用指定.NET Framework元件實作之間的可攜性支援。 |
啟用屬性
值 | Description |
---|---|
true | 啟用指定.NET Framework元件實作之間的可攜性支援。 此為預設值。 |
false | 停用指定.NET Framework元件實作之間的可攜性支援。 這可讓應用程式參考指定組件的多個實作。 |
子元素
無。
父項目
元素 | Description |
---|---|
configuration |
通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。 |
runtime |
包含有關組件繫結和記憶體回收的資訊。 |
assemblyBinding |
包含有關組件版本重新導向和組件位置的資訊。 |
備註
從 .NET Framework 4 開始,系統會自動提供支援給可使用兩個.NET Framework實作的應用程式,例如.NET Framework實作或 Silverlight 實作的.NET Framework。 元件系結器會將特定.NET Framework元件的兩個實作視為相等。 在少數案例中,此應用程式可攜性功能會造成問題。 在這些案例中,<supportPortability>
元素可以用來停用此功能。
其中一個案例是必須參考特定參考元件之 silverlight 實作的.NET Framework實作和 silverlight 實作.NET Framework的元件。 例如,以 Windows Presentation Foundation (WPF) 撰寫的 XAML 設計工具,可能需要同時參考 WPF Desktop 實作 (針對設計工具的使用者介面) 和 Silverlight 實作中包含的 WPF 子集。 根據預設,不同的參考會導致編譯器錯誤,因為組件繫結關係會將兩個組件視為對等項目。 這個元素會停用預設行為,並允許編譯成功。
重要
為了讓編譯器將資訊傳遞至 Common Language Runtime 的組件繫結邏輯,您必須使用 /appconfig
編譯器選項,來指定包含這個元素的 app.confi g檔案位置。
範例
下列範例可讓應用程式同時參考.NET Framework實作,以及兩個實作中存在之任何.NET Framework元件之 Silverlight 實作的.NET Framework。 /appconfig
編譯器選項必須用來指定這個 app.config 檔案的位置。
<configuration>
<runtime>
<assemblyBinding>
<supportPortability PKT="7cec85d7bea7798e" enable="false"/>
<supportPortability PKT="31bf3856ad364e35" enable="false"/>
</assemblyBinding>
</runtime>
</configuration>