-
Notifications
You must be signed in to change notification settings - Fork 191
Description
After upgrading from 3.21.90 to 3.21.100 we got the following runtime error in our application when trying to connect to LDAP.
---> System.IO.FileLoadException: Could not load file or assembly 'System.DirectoryServices.Protocols, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
File name: 'System.DirectoryServices.Protocols, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd, OracleConnection connRefForCriteria, Boolean bMaxSemObtained, Boolean bIgnoreIdleSem, Boolean& bIdleSemObtainedWhileCreatingPR, String instanceName, List`1 switchFailedInstNames)
at OracleInternal.ConnectionPool.OraclePoolManager.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd, OracleConnection connRefForCriteria, Boolean bMaxSemObtained, Boolean bIgnoreIdleSem, Boolean& bIdleSemObtainedWhileCreatingPR, String instanceName, List`1 switchFailedInstNames)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)
This took quite some time to figure out, the actual issue is dotnet/runtime#84031 . I'm not going into the technical details here, but the point is that System.DirectoryServices.Protocols 6.0.1 is broken in a way that makes applications referencing System.DirectoryServices.Protocols 7.0.0 fail at runtime with this exception.
While the actual issue is in System.DirectoryServices.Protocols 6.0.1, Microsoft obviously can't patch an already published Package. We currently downgraded to 3.21.90 which references the unaffected System.DirectoryServices.Protocols 5.0.1 .
It would be great if Oracle could fix this by either going back to 5.0.1 or requiring 7.0.0 . Until then, we are stuck with Oracle 3.21.90 .