Starting with 11.2.0.1.2, Oracle Data Provider for .NET ships with two sets of binaries: one set for .NET Framework 2.0 and another for .NET Framework 4.
For example, ODP.NET 11.2.0.1.2 binaries would be the following:
ODP.NET for .NET Framework 4
Oracle.DataAccess.dll
Built with .NET Framework 4
Assembly version number: 4.x.x.x
OraOps11w.dll
Used by ODP.NET for .NET Framework 2.0 and 4
ODP.NET for .NET Framework 2.0
Oracle.DataAccess.dll
Built with .NET Framework 2.0
Assembly version number: 2.x.x.x
OraOps11w.dll
Used by ODP.NET for .NET Framework 2.0 and 4
The convention for ODP.NET assembly/DLL versioning is
n1.o1o2.o3o4.o5
where:
n1 is the most significant .NET Framework version number.
o1o2 are the first two digits of the ODP.NET product version number.
o3o4 are the third and forth digits of the ODP.NET product version number.
o5 is the fifth and last digit of the ODP.NET product version number.
For example, if the ODP.NET product version number is 11.2.0.2, the corresponding ODP.NET assembly versions are:
.NET Framework 4 version: 4.112.2.0
.NET Framework 2.0 version: 2.112.2.0
Note that the Oracle installer and documentation still refer to the ODP.NET product version number and not the assembly/DLL version number.
As with the .NET Framework system libraries, the first digit of the assembly version number indicates the version of the .NET Framework to use with an ODP.NET assembly.
Publisher Policy DLL is provided as before so that applications built with older versions of ODP.NET are redirected to the newer ODP.NET assembly, even though the versioning scheme has changed.