0

几年前,我开发了一个 Windows 服务应用程序(VB.NET 框架 1.1),它使用 System.Data.OracleClient 来访问 Oracle 数据库。
由于该驱动程序给我带来了很多麻烦,因此我想参考效果更好的 oracle 数据提供程序 (Oracle.DataAccess.dll)。
在我的电脑上一切正常。
问题是当我尝试在服务器(Windows 2000)上发布我的应用程序时。
我无法在该服务器上安装新的 oracle 数据提供程序,并且安装了旧的 oracle 9.0(我的应用程序引用了 oracle 9.2)。
我已将整个目录 (C:\oracle\ora92\bin) 从我的电脑复制(未安装)到服务器,但我不知道如何引用 Oracle 数据提供程序。我知道这不是一种“干净”的做事方式,但我无法安装新软件。
我已经看到,如果我将我的应用程序(和所有文件)复制到 C:\oracle\ora92\bin 文件夹中,一切正常。
我想将该目录指定为我的应用程序的探测目录。我尝试了在网上找到的不同解决方案,但它们似乎都不起作用。

我想在运行时或我的配置文件中设置一个文件夹,以便我的应用程序可以使用那里的程序集(以及所有依赖项)。

我可以为框架 2.0 升级我的应用程序。

谢谢

阿尔贝托

4

1 回答 1

1

反过来做 - 将 Oracle 程序集放入应用程序的根目录中。甚至更好 - 将程序集放入服务器上的 GAC。用于此的实用程序(gacutil)应该可以在服务器上运行。

也许这可以帮助你:C#:自定义程序集目录

如果一切都失败了,您可以订阅 AppDomain 的 AssemblyResolve 事件:

大会决议

于 2010-11-14T20:34:05.547 回答