對 .NET 4.0 專案中的 .NET 2.0 組件進行故障排除
將舊的 .NET 函式庫整合到新的專案中有時會導致相容性問題。 本指南解決了在 .NET 4.0 應用程式中使用 .NET 2.0 System.Data.SQLite 框架時遇到的常見問題。
問題:
嘗試在 .NET 4.0 專案中使用為 .NET 2.0 執行階段(.NET Framework,版本 v2.0.50727)建構的混合模式組件(通常為 C /CLI)可能會導致下列錯誤:
「混合模式組件是針對運行時版本‘v2.0.50727’構建的,如果沒有額外的配置信息,則無法在 4.0 運行時中加載。」
解:
透過向應用程式的 App.Config 檔案新增特定設定部分可以解決此錯誤。 此組態指示公共語言執行時期 (CLR) 如何處理舊程序集。 在 App.Config 的 <configuration>
元素中加入以下 XML 片段:
<code class="language-xml"><configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime sku=".NETFramework,Version=v4.0" version="v4.0"/> </startup> </configuration></code>
這裡的關鍵是useLegacyV2RuntimeActivationPolicy="true"
。此設定使 CLR 能夠使用 .NET 4.0 執行階段載入混合模式組件,從而克服版本不符的問題。
重要考量:
只有混合模式組件才需要此配置。 為 .NET 2.0 編譯的純託管 (.NET) 組件通常無需進行此 App.Config 修改即可載入。
以上是如何解決在 .NET 4.0 專案中引用 .NET 2.0 組件時出現的「混合模式組件」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!