2

我正在尝试编写一个可以放在颠覆存储库中的 Visual Studio C# .net 应用程序。该程序在 oracle 驱动程序 (Oracle.dataAccess) 上运行,任何试图访问它的人都应该可以轻松管理和开发。问题是 Visual Studio 发现开发人员的计算机上安装了 Oracle.DataAccess,并且一些随机用户使用任何版本的 oracle,或者没有安装 oracle 驱动程序,在下载文件后必须更改很多配置来编辑它。我正在尝试找到一种方法来解决这个问题,任何帮助都会很好。

我不想在项目中打包任何即时客户端 DLL,因为存储库所在的服务器非常慢。

4

2 回答 2

1

只要其他机器安装了您最初链接的最低版本,您就不必担心。

当您在您的机器上安装客户端驱动程序时,它应该Oracle.DataAccess.dll在全局程序集缓存 ( GAC ) 中注册。您可以通过浏览查看 GAC 的内容C:\Windows\Assembly

GAC 和 Oracle.DataAccess.dll 以及策略文件的屏幕截图。

请注意,安装还会在 GAC 中安装“策略”文件。这些是绑定重定向发布者策略,当与早期版本链接的程序Oracle.DataAccess.dll尝试在 GAC 中查找它时,它会在运行时重定向到较新版本。事实上,即使你用你的程序重新分发了驱动程序,如果它找到一个更新的版本而不是你用你的程序重新分发的那个,它仍然可能从 GAC 加载一个更新的版本。

于 2010-09-24T19:58:40.853 回答
0

我认为解决这个问题的唯一方法是

将任何即时客户端 DLL 与项目打包

即使服务器速度较慢,您也只需获取这些文件一次(在结帐时),然后只需获取更新(如果有),或在“干净”结帐时获取。

于 2010-09-24T19:10:43.003 回答