当我尝试使用基于2012的单元测试来测试基于vs 2008构建的应用程序时 我收到以下错误:
我尝试在机器配置和本地计算机上添加版本2.0的程序集重定向:
这是错误的来源:请提供建议。
===预绑定状态信息=== 日志:DisplayName = System.Data.OracleClient,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089 (完全指定的) 日志:Appbase =%测试应用程序路径% 日志:初始PrivatePath = NULL
日志:此绑定在默认加载上下文中启动。 日志:使用应用程序配置文件:测试应用程序路径 日志:使用主机配置文件: 日志:使用C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config中的计算机配置文件。
日志:在框架配置中找到版本重定向:2.0.0.0重定向到 4.0.0.0。
日志:后策略引用:System.Data.OracleClient,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089 日志:尝试下载新的URL文件:testapplication / bin / Debug / System.Data.OracleClient.DLL。 日志:尝试下载新的URL文件:testapplication / bin / Debug / System.Data.OracleClient.DLLL。 日志:尝试下载新的URL文件:testapplication / bin / Debug / System.Data.OracleClient.DLL 日志:尝试下载新的URL文件:testapplication / bin / Debug / System.Data.OracleClient.DLL
答案 0 :(得分:0)
我发现了原因是什么, 对于版本重定向
1)application.config文件优先于machine.config文件。
所以,如果我们将版本重定向放在system.data.oracleclient的app.config上,旧的verison为2.0,新版本为4.0,并在项目bin目录或单独的构建目录中包含4.0 dll。
app.config重定向所有调用,没有任何问题。