當使用System.Data.Common.DbProviderFactory時,我們在NUnit測試中運行代碼時遇到此錯誤,但運行常規Web應用程序時沒有。單元測試中的System.InvalidCastException使用DbProviderFactory的Oracle對象
錯誤
System.InvalidCastException: [A] Oracle.DataAccess.Client.OracleParameter不能轉換到 [B] Oracle.DataAccess.Client.OracleParameter。在位置 'C:\ Windows \ assembly \ GAC_32 \ Oracle.DataAccess \ 2.112'的上下文'Default'中,類型A源自 'Oracle.DataAccess,Version = 2.112.1.2,Culture = neutral, PublicKeyToken = 89b483f429c47342'。 1.2__89b483f429c47342 \ Oracle.DataAccess.dll」。 類型B源自上下文中的'Oracle.DataAccess,版本= 4.112.1.2, Culture = neutral,PublicKeyToken = 89b483f429c47342' '位置 '默認'C:\ Windows \ Microsoft.Net \ assembly \ GAC_32 \ Oracle .DataAccess \ v4.0_4.112.1.2__89b483f429c47342 \ Oracle.DataAccess.dll」。
我們有單元測試項目引用的2.112.1.2程序集,我們甚至嘗試過'使用特定版本'和'複製本地',但它只是沒有看到它繼續從新版本加載的DLL在GAC中。