所以我编写了不断检查某个文件夹的服务,如果有文件,则将它们上传到Oracle数据库。
当我在调试模式下在Visual Studio中运行它时,一切正常。但是,当我正在发布并安装实际服务并运行它时,它会在尝试连接时抛出oracle异常:
Could not load file or assembly 'Oracle.DataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. An attempt was made to load a program with an incorrect format.
服务正在运行并正在将此异常写入日志文件,因此这不是直接服务问题。我在运行调试的同一台机器上安装此服务,因此安装了Oracle客户端并且运行正常。我也尝试在另一台机器上安装,但它有相同的例外。
我的猜测是权利存在一些问题以及服务如何运行,但由于它是我的第一个Windows服务,我不知道问题究竟在哪里以及要查找什么。它作为本地服务安装,在调试它作为我的用户运行时(如果我是正确的)。
答案 0 :(得分:0)
谢谢大家。这确实是62/32版本的问题。这是64位oracle客户端安装和调试是在64位模式,但我没有注意到这个设置是完全独立的调试和发布,现在更改发布到严格的x64,它的工作。