2015-01-07 10 views
6

Per prima cosa ho sia il 11 or 12 oracle client sulla mia macchina. Ma quando provo ad usare la versione 11g di oracle.dataacess.dll.Oracle.DataAccess tenta ancora di accedere a oraops12.dll dopo la disinstallazione

Ho già rimosso un registro 12c su regedit e il servizio stop e machince.config correlati. ma il programma è stato lanciato "Impossibile caricare oraops12.dll ..".

Quale percorso che oracle.dataacess trova una configurazione per dll? Perché ha ancora provato a caricare oraops12 non oraops11.

Grazie in anticipo.

+0

si può ancora avere la versione 12c del ODP.NET nel GAC insieme con la sua politica di DLL . Le DLL di politica potrebbero causare ODP.NET 11 per provare a caricare ODP.NET 12. –

+0

Come posso eliminare quella politica? – LLF

+1

Utilizzando il prompt dei comandi di Visual Studio, emettere un gacutil/u http://msdn.microsoft.com/en-us/library/ex0ss12c%28v=vs.110%29.aspx –

risposta

6

C'è un file di criteri nel GAC che utilizza il tag "bindingRedirect"

Policy.2.112.Oracle.DataAccess.config

Fare una ricerca per il file (io uso agente Ransack) allora modificalo.

Il contenuto del file di aspetto come questo

<configuration> 
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342"/> 
      <bindingRedirect oldVersion="2.112.2.0-2.112.9999.9999" newVersion="2.121.1.0"/> 
     </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
</configuration> 

Per qualche ragione, se si installa Oracle 12, quindi provare e disinstallarlo (anche usando gacutil.exe/u), il reindirizzamento di legame viene lasciato in .

Sulla mia macchina, che era in C: \ Windows \ assembly \ GAC_32 \ Policy.2.112.Oracle.DataAccess \ 2.121.2.0__89b483f429c47342 \ Policy.2.112.Oracle.DataAccess.config

è inaccessibile via explorer, usa agent ransack per rintracciarlo, quindi fai clic destro e op en it in un editor.

1

Ho appena avuto questo problema. Assicurati di rimuovere tutte le cartelle dei criteri e le cartelle oracle.dataaccess che iniziano con 2.12 in c: \ windows \ assembly e c: \ windows \ Microsoft.net \ assembly. 2.11x significa oracolo 11.xe 2,12x significa Oracle 12.x.

Problemi correlati