几年前,我开发了一个Windows服务应用程序(VB.NET框架1.1),它使用System.Data.OracleClient访问Oracle数据库。
由于那个驱动程序给了我很多麻烦,我想引用更好的oracle dataprovider(Oracle.DataAccess.dll)。
在我的电脑上一切正常
问题是当我尝试在服务器上发布我的应用程序时(Windows 2000)
我无法在该服务器上安装新的oracle数据提供程序,并且有一个旧的oracle 9.0安装(我的应用程序引用oracle 9.2)。
我已将整个目录(C:\ oracle \ ora92 \ bin)从我的电脑复制(无安装)到服务器,但我不知道如何引用Oracle数据提供程序。
我知道这不是一种“干净”的做事方式,但我没有安装新软件的可能性
我已经看到,如果我将我的应用程序(和所有文件)复制到C:\ oracle \ ora92 \ bin文件夹中,一切正常。
我想将该目录指定为我的应用程序的探测目录。
我尝试过在网上找到的不同解决方案,但它们似乎都没有用
我想在运行时或我的配置文件中设置一个文件夹,以便我的应用程序可以使用那里的程序集(以及所有依赖项)。
我可以为框架2.0升级我的应用程序
谢谢你
Alberto
答案 0 :(得分:1)
反过来 - 将Oracle程序集放入应用程序的根目录中。甚至更好 - 将程序集放入服务器上的GAC。用于它的实用程序(gacutil)应该在服务器上运行得很好。
也许这可以帮到你:C#: Custom assembly directory
如果其他所有方法都失败了,您可以订阅AppDomain的AssemblyResolve事件: