【发布时间】:2015-11-26 19:29:07
【问题描述】:
我对 .net 应用程序非常陌生,我正在尝试将一个 winforms 应用程序部署到多台机器(32 位和 64 位)上,而不必在每台机器上安装 oracle 客户端。 我将 oracle 11g 与 Oracle.DataAccess.dll 一起使用。 我在我的解决方案(设置和引导程序)中创建了两个 wix 项目。 我的解决方案还有另外 4 个项目:MyMainForm 项目、MyService 项目、MyDAO 项目和 MyDataModel 项目。 在 MyDAO 项目中,我引用了 Oracle.DataAccess.dll。
第一个问题: 我应该将 Oracle.DataAccess.dll 文件放在我的解决方案中的哪个位置以添加引用? 我放入 MyMainForm 项目的 bin\Release 文件夹。 以及 oci.dll、oramts.dll、oramts11.dll、orannzsbb11.dll、oraocci11.dll、oraociei11.dll 和 OraOps11w.dll 文件。 它在我的机器上工作,但我不确定这是否是放置它们的正确位置。
第二个问题: 当我将它安装在我的机器(64 位)上时,它可以工作。但是当我在另一台机器(也是 64 位)上安装时,它不起作用。 我收到以下错误:
System.IO.FileNotFoundException 未处理 消息:未处理 “System.IO.FileNotFoundException”类型的异常发生在 MyService.dll 附加信息:无法加载文件或程序集 'Oracle.DataAccess,版本=4.112.3.0,文化=中性, PublicKeyToken=89b483f429c47342' 或其依赖项之一。这 系统找不到指定的文件。
我相信这与第一个问题有关。可能文件放错地方了。
第三个问题: 我阅读了有关 Oracle.ManagedDataAccess.dll 的信息。对于我阅读的内容,我只会使用这个 dll 而不是所有其他 dll,我不应该担心 32/64 位。 但是我可以将它与 oracle 11g 一起使用吗?
我在论坛上阅读了很多关于它的内容,但没有找到一个好的教程或类似的东西来完成这项工作。 我已经为此苦苦挣扎了大约 3 天。
任何帮助将不胜感激。
【问题讨论】: