开发者

Visual Studio/Oracle Driver Help

I am trying to write a visual studio C# .net app which i can put on a subversion repository. The program runs on oracle drivers (Oracle.dataAccess) and should be e开发者_开发知识库asily managed and developed by anybody trying to access it. The problem is that Visual Studio finds the Oracle.DataAccess installed on the developer's computer and some random user with any version of oracle, or no oracle drivers installed, will have to change a lot of configurations after downloading the file to edit it. I'm trying to find a way to get around that, any help will be fine.

I don't want to package any instant client DLLs with the project because the server the repository is on is very slow.


You don't need to worry as long as the other machines have the minimum version you originally linked against installed.

When you install the client drivers on your machine, it should register Oracle.DataAccess.dll in the Global Assembly Cache (GAC). You can see the contents of the GAC by browsing to C:\Windows\Assembly:

Visual Studio/Oracle Driver Help

Notice that the installation also installs "policy" files in the GAC. These are binding redirect publisher policies, which, when a program that is linked against an earlier version of Oracle.DataAccess.dll tries to look it up in the GAC, it gets redirected to the newer version at runtime instead. In fact, even if you redistributed the driver with your program, it still might load up a newer version from the GAC if it finds a newer one instead of the one you redistributed with your program.


I think the only way around the issue is

to package any instant client DLLs with the project

Even with a slow server, you'd only have to get these files once (on checkout) and then just get updates, if any, or when checking out "clean".

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜