Oracle.DataAccess.dll Versiyon Hatası

Alınan hata:

“Could not load file or assembly ‘Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342’ or one of its dependencies. The system Cannot find the file specified.”

Çözüm:

Çalıştığımız ve publish ettiğimiz ortamlar bir birinden farklı ise (x86, x64) Oracle.DataAccess.dll’inden dolayı yukarıdaki gibi hatalarla sık sık karşılaşıyoruz.

Bu hatadan kurtulabileceğimiz yöntemlerden bir tanesi:

Çalışma ortamımızda iki versiyonu aynı anda tutmak. Bunun için iki versiyonu da yüklememiz gerekiyor. Client olarak bir tane standart client yükledikten sonra diğer versiyon için ODAC versiyonlarından bir tanesini yüklememiz yeterli.

ODAC 32 bit

ODAC 64 bit

İki clientı da yükledikten sonra clientlar aşağıdaki gibi görünecektir.

GAC ın son hali ise aşağıdaki gibi olacak (Versiyon olarak sizin yüklediğiniz versiyonlar görülecek).

GAC da iki versiyonda atıldıktan sonra Oracle.DataAccess.dll ini refere edenen projelerde dll özelliklerinin aşağıdaki gibi olduğuna dikkat etmemiz lazım.

Son adım olarakta projenin özelliklerinden Any CPU seçilmeli.

Bir diğer yöntem ise publish ettiğimiz ortamdaki Oracle.DataAccess.dll ini tüm projelere referans olarak eklemek. Daha basit gibi görünsede yanlışlıkla spesific version seçme, gac yerine full path reference seçme gibi hatalara neden olabilir. Buda farklı uygulamalarınızın farklı versiyonlarla çalışmasına sebep olabilir. Tekbir uygulama üzerinde çalışıyorsanız bu yöntem de tercih edilebilir.

İyi çalışmalar,

Leave a Reply

Your email address will not be published. Required fields are marked *