2010-09-24 107 views
2

我正在尝试编写一个Visual Studio C#.net应用程序,我可以将它放在Subversion存储库上。该程序在Oracle驱动程序(Oracle.dataAccess)上运行,任何试图访问它的人都应该轻松管理和开发该程序。问题在于Visual Studio发现在开发人员的计算机上安装了Oracle.DataAccess,并且某些具有任何版本的Oracle的随机用户(或未安装Oracle驱动程序)在下载文件进行编辑后将不得不更改许多配置。我试图找到解决办法,任何帮助都可以。Visual Studio/Oracle驱动程序帮助

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

+0

我不确定你在问什么,是你希望应用程序始终包含/使用odp.net文件的_same_版本,而不是已安装的问题? – CodingGorilla 2010-09-24 19:04:38

回答

0

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

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

即使有一个缓慢的服务器,你只需要获取这些文件一次(结帐时),然后只是获取更新,如果有的话,或检查出“干净”。

+1

好吧,我想起来了。我只在存储库中放置.cs文件,以便其他开发人员可以打开它们,Visual Studio将在开发人员的桌面上查找Oracle驱动程序。我没有试图打包任何DLL,因为1.它永远存储在存储库服务器上2.它们可能与各自开发人员的Oracle版本冲突。谢谢。 – Tim 2010-09-24 19:24:09

1

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

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

Screenshot of the GAC and Oracle.DataAccess.dll plus policy files.

注意,安装也将安装“政策”的文件在GAC。这些是binding redirect publisher policies,当与早期版本的Oracle.DataAccess.dll链接的程序尝试在GAC中查找它时,它会在运行时重定向到较新版本。实际上,即使您使用您的程序重新分配了驱动程序,如果它找到一个更新的版本,而不是您的程序重新分发的版本,它仍然可能会从GAC中加载更新的版本。