代码之家  ›  专栏  ›  技术社区  ›  LeftyX

探测程序集

  •  0
  • LeftyX  · 技术社区  · 14 年前

    几年前,我开发了一个windows服务应用程序(VB.NET framework 1.1),它使用System.Data.OracleClient访问Oracle数据库。
    因为那个驱动程序给了我很多麻烦,我想引用oracle数据提供程序(oracle.DataAccess.dll),它工作得更好。
    在我的电脑上一切正常。
    问题是当我试图在服务器上发布我的应用程序时(windows 2000)。
    我无法在该服务器上安装新的oracle数据提供程序,而且有一个旧的oracle 9.0安装(我的应用程序引用oracle 9.2)。
    我已经将整个目录(C:\ oracle\ora92\bin)从我的pc复制(不安装)到服务器,但我不知道如何引用oracle数据提供程序。 我知道这不是一个“干净”的方式做事情,但我没有可能安装新的软件。
    我已经看到,如果我将我的应用程序(以及所有文件)复制到C:\ oracle\ora92\bin文件夹中,一切正常。
    我想指定该目录作为应用程序的探测目录。 我试过网上找到的不同解决方案,但似乎都不管用。

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

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

    谢谢

    阿尔贝托

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community    7 年前

    另一种方法-将Oracle程序集放入应用程序的根目录中。或者更好的方法-将程序集放到服务器上的GAC中。用于此目的的实用程序(gacutil)应该可以在服务器上正常运行。

    也许这能帮你: C#: Custom assembly directory

    如果其他所有操作都失败,则可以订阅AppDomain的AssemblyResolve事件:

    Assembly Resolve