分享方式:


<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>  

另請參閱