2015-01-07 13 views
6

Trước tiên tôi có cả ứng dụng khách 11 và 12 trên máy tính của mình. Nhưng khi tôi cố gắng sử dụng phiên bản 11g của oracle.dataacess.dll.Oracle.DataAccess vẫn cố gắng truy cập oraops12.dll sau khi gỡ cài đặt

Tôi đã xóa đăng ký 12c trên dịch vụ regedit và stop và machince.config có liên quan. nhưng chương trình đã được ném "Không thể tải oraops12.dll ..".

Đường dẫn nào mà oracle.dataacess tìm thấy cấu hình cho dll? Tại sao nó vẫn cố gắng tải oraops12 không oraops11.

Cảm ơn bạn trước.

+0

Bạn vẫn có thể có phiên bản 12c ODP.NET trong gấc cùng với nó là DLL chính sách . Các dll chính sách có thể gây ra ODP.NET 11 để thử tải ODP.NET 12. –

+0

Làm thế nào tôi có thể xóa dll chính sách đó? – LLF

+1

Sử dụng dấu nhắc lệnh Visual Studio, đưa ra một gacutil/u http://msdn.microsoft.com/en-us/library/ex0ss12c%28v=vs.110%29.aspx –

Trả lời

6

Có một tập tin chính sách trong GAC của bạn cũng được sử dụng "bindingRedirect" tag

Policy.2.112.Oracle.DataAccess.config

Thực hiện tìm kiếm cho các tập tin (tôi sử dụng chất độc Ransack) sau đó Chỉnh sửa nó.

Nội dung của giao diện tập tin như thế này

<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> 

Đối với một số lý do, nếu bạn cài đặt Oracle 12, sau đó thử và gỡ bỏ cài đặt nó (thậm chí sử dụng gacutil.exe/u), chuyển hướng liên kết còn lại trong .

trên máy tính của tôi, đó là trong C: \ Windows \ lắp ráp \ GAC_32 \ Policy.2.112.Oracle.DataAccess \ 2.121.2.0__89b483f429c47342 \ Policy.2.112.Oracle.DataAccess.config

nó là không thể tiếp cận thông qua explorer, sử dụng tác nhân ransack để theo dõi nó xuống, sau đó kích chuột phải vào nó và op vi nó trong một trình soạn thảo.

1

Tôi vừa gặp sự cố này. Hãy chắc chắn và loại bỏ tất cả các thư mục chính sách và thư mục oracle.dataaccess bắt đầu với 2,12 trong cả c: \ windows \ assembly và c: \ windows \ Microsoft.net \ assembly. 2.11x có nghĩa là oracle 11.x, và 2.12x có nghĩa là Oracle 12.x.

Các vấn đề liên quan