我的应用程序需要一个Oracle .dll
,我将其与其他应用程序一起部署到应用程序的bin
文件夹中,并且工作正常。
但我想要做的是避免部署库,所以我需要服务器知道在哪里寻找它。我将.dll
添加到C:\Oracle\bin
,这是Path
系统变量中包含的路径。但如果它不在应用程序的bin
文件夹中,它就找不到程序集。
请提供任何提示?
答案 0 :(得分:0)
这几乎是有用的。您发现了2个可行的部署选项。 1)将其捆绑在应用程序bin目录中或2)正确安装oracle网络协议并使用安装API。
我真的只能想到两个选项。 1)与必要的网络库静态链接 - 我不记得曾经在Windows上看到这些,我知道我已经在Unix上使用静态链接到OCI库,但很久以前。 2)在中间层托管Oracle连接,让部署的应用程序始终调用中间层(而不是直接调用Oracle)
顺便说一句,你可能不想使用OCI库,比现代的做法更难看。答案 1 :(得分:-1)
如果您进入要添加的dll的引用属性,则可以将Copy Local属性更改为False。 这将允许程序从您找到dll的原始位置拉出dll。
您唯一需要注意的是,如果您的程序不能找到您的dll,那么您的dll与开发者PC上的位置和服务器上的位置相同。例如,如果服务器上的dll位于C:\ Oracle \ bin中,它必须位于开发PC上的C:\ Oracle \ bin。