![](/img/trans.png)
[英]Could not load file or assembly 'Oracle.DataAccess, Version=2.111.6.0
[英]Oracle.DataAccess version could not load
我在WPF
中遇到Oracle.DataAccess
問題。 我使用Oracle.DataAccess v4.0
沒有任何問題。 但現在它已更新到4.112版本,當我在WPF
添加對此版本的引用時,無法加載設計器。 它給了我以下錯誤:
System.BadImageFormatException
Could not load file or assembly 'Oracle.DataAccess,
Version=4.112.3.0, Culture=neutral,
PublicKeyToken=89b483f429c47342' or one of its dependencies.
An attempt was made to load a program with an incorrect format.
請注意,程序運行沒有任何問題。 我讀到它可能是由於屬性中的“目標cpu”。 我測試了x64和x86但沒有任何變化。 我怎么解決這個問題。 提前致謝
問題出在我的Oracle.DataAccess.dll文件中。 我已經下載了ODAC 11 XCopy並將\\ odp.net4 \\ odp.net \\ bin \\ 4中的Oracle.DataAccess.dll復制到我的OracleClient的\\ odp.net \\ bin \\ 4文件夾中並替換了dll。 現在它就像一個魅力。
希望它對其他人有所幫助
我遇到了同樣的問題,我通過將依賴DLL放到Oracle.DataAcces來解決。 檢查此鏈接使用Oracle客戶端11部署.NET應用程序所需的最小設置是什么?
希望它應該有所幫助。
我已經多次處理過這個問題了。 下面是我經常用來部署應用程序的一些PowerShell。
$target = "\\SERVER\c$\PROJECT"
$oracleBin = "C:\oracle\product\11.2.0\client_1\BIN\"
$projectHome = "C:\Users\USER\Code\CSharp\PROJECT\bin\Release\"
$files = @(
($oracleBin + "oci.dll"),
($oracleBin + "orannzsbb11.dll"),
($oracleBin + "oraocci11.dll"),
($oracleBin + "OraOps11w.dll"),
($projectHome + "EntityFramework.dll"),
($projectHome + "EntityFramework.xml"),
($projectHome + "Oracle.DataAccess.dll"),
($projectHome + "PROJECT.exe")
#,($projectHome + "PROJECT.exe.config")
)
foreach($f in $files) {
copy-item $f $target
}
我可以為那些努力解決這個問題的人添加兩個注意事項:
另一種解決方案是從64位Oracle數據訪問組件(ODAC)下載中下載並執行'ODAC112030Xcopy.zip'中的install.bat文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.