我已经在Windows上开发了C#控制台应用程序(.NET 4.5.2)
8.1(64位计算机)。 我使用的是Visual Studio 2015(唯一的可用选项,因为我们没有 许可)
我需要访问我的应用程序的Oracle(11G)数据库。
我的要求是我的应用程序应在干净的环境下运行 机器,表示未安装Oracle客户端,并且 一个DLL应该足以访问数据库(就像我们使用Java
JDBC jars)
正如我已经提到的,我在Windows 8.1(64
位)在Visual Studio 2015构建配置中使用x64
我使用Oracle.DataAccess进行数据库访问,我只是添加了Oracle.Web
也在参考文献中。 一切都能在我的机器上正常工作。
现在,当我尝试运行内置的应用程序(带有所有dll的exe
Windows Vista(64位计算机)上的同一文件夹) 我收到以下错误。
D:\ distribution_C#_x64> EAS_Background_Alert.exe 未处理的异常:System.TypeInitializationException:类型 初始化器 r'Oracle.DataAccess.Client.OracleConnection'引发异常。 -> System.Dl lNotFoundException:无法加载DLL'OraOps12.dll':指定 模块库 d未找到。 (来自HRESULT的异常:0x8007007E) 在Oracle.DataAccess.Client.OpsInit.CheckVersionCompatibility (字符串版本) 在Oracle.DataAccess.Client.OracleInit.Initialize() 在Oracle.DataAccess.Client.OracleConnection..cctor() ---内部异常堆栈跟踪的结尾---
我在文件夹中有以下dll 1. oci.dll 2. ociw32.dll 3. Oracle.DataAccess.dll 4. Oracle.Web.dll 5. oramts.dll 6. oramts12.dll 7. oramtsus.dll 8. orannzsbb12.dll 9. oraocci12.dll 10. oraociei12.dll 11. oraons.dll 12. OraOps12.dll
我从ODAC(oracle数据访问客户端文件夹
迷上了我的机器)
任何人都可以帮忙吗?
[注意:我只是想提一下,我的应用程序会生成pdf报告
,我的文件夹中也有itextsharp.dll(并且在我的
上运行良好机器)]
此外,今天我尝试在Windows Vista上运行它,明天可能是
Windows 7。 因此,如何确保已构建的应用程序可以在
上正常运行所有机器。