Oracle Data Provider for .Net, Visual Studio 2008 (x86) y Windows 7(x64)

Recientemente, uno de mis colaboradores cambió de sistema operativo, de Windows XP 32 bits  a Windows 7 x64.

Reinstaló el Visual Studio 2008 Professional, el cual se instaló como aplicación de 32 bits en Archivos de Programa/Visual…(x86).

Al ejecutar con depuración desde el Visual Studio, salía el error:

[FileNotFoundException]: 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.
at DAMoneyCardSys.DAUsuario..ctor()
at BLMoneyCardSys.BLUsuario..ctor() in C:\Inetpub\wwwroot\MoneyCardSys\C.Business.Entity\C.Business.Rules\BLUsuario.vb:line 8
at Login..ctor() in E:\MoneyCardSys\Login.aspx.vb:line 10
at ASP.login_aspx..ctor() in E:\MoneyCardSys\Login.aspx.vb:line 912304
at __ASP.FastObjectFactory_app_web_p9s6fbld.Create_ASP_login_aspx()
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
[HttpException]: Exception of type ‘System.Web.HttpException’ was thrown.
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Había instalado lo siguiente: Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64) , ya que pensé que al ser un SO de 64 bits, y el server de producción también era de 64 bits, sería lo conveniente.

Sin embargo, descubrí que tenía que instalar la versión de 32 bits (Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32-bit) (Windows XP SP3 x86)  igual que en Windows XP) para que el proyecto funcione en entorno de desarrollo.

Por ahora no estamos trabajando en cambios al sistema. Sin emabrgo, supongo que cuando se hagan cambios, al pasar a producción, funcionará sin problemas, ya que el server tiene la misma versión de Oracle.DataAccess pero de 64 bits.

 

UPDATE:

Me volvió a ocurrir este problema, y tardé casi un día en resolverlo, pese a que había registrado este problema en mi blog para no olvidarme.

Sucede que me olvidé de anotar un punto muy importante:

En la configuración del Application Pool del IIS, en configuración avanzada, cambiar “Enable 32-Bit Applications” a True.

Lo apunto para que no se me vuelva a olvidar🙂

 

Referencia:

Oracle Data Provider for .Net y Windows 2008 R2 x64

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: