这是一个用于更新Oracle数据库的控制台应用程序。它以32位引用Oracle.DataAccess.dll。这是有关数据库操作的核心代码。
using (OracleConnection connection = new OracleConnection(DataSource))
{
using (OracleCommand cmd = new OracleCommand())
{
try
{
cmd.CommandText = paraText;
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
FileLog.Error("UpdateActiveStatus", ex, LogType.Error);
}
finally
{
cmd.Connection.Close();
cmd.Connection.Dispose();
}
}
}
我将控制台应用程序平台目标设置为x64,而oracle dll为32位。但这有效!为什么?我认为x64应用程序无法引用x86 dll。
为了确保该应用程序在x64中运行,我转到任务管理器,发现控制台应用程序进程确实处于x64模式。
为什么?带有32位dll的x64控制台应用程序,没有任何错误的格式dll异常?
编辑:这是有关版本的更多信息。
编辑:我得到的结论是,它现在可以从GAC找出这个x64 dll。但是它如何知道应该使用哪个版本?我的本地计算机上安装了不同的oracle客户端。
对于强名称汇编,第一个搜索选择是GAC,然后是bin文件夹。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句