miércoles, 5 de septiembre de 2012

Tips integración VS2010 - AX 2012

Aquí os dejo un post con los problemas y soluciones que voy encontrando al tratar de integrar un proyecto .NET en Visual Studio 2010 con Microsoft Dynamics AX 2012



Problema:

Se añade la referencia al Business Connector, pero da el siguiente error:
El tipo o el nombre del espacio de nombres 'Dynamics' no existe en el espacio de nombres 'Microsoft' (¿falta una referencia de ensamblado?)

Solucion:
El proyecto se compila con el Framework Client profile. Hay que poner el Framework 4.0 completo.

Problema:

Al ejecutar el BusinessConnector  (Microsoft.Dynamics.BusinessConnectorNet) da un System.IO.FileLoadException

“El ensamblado de modo mixto se ha compilado con la versión 'v2.0.50727' del runtime y no se puede cargar en el runtime 4.0 sin información de configuración adicional.”
Solucion:

Debemos de añadir en el App.Config (o en el Web.Config, según se trate de WinForms o Webforms) la siguiente entrada:

<configuration>
   <startup useLegacyV2RuntimeActivationPolicy="true">
   </startup>
</configuration>

- Actualización -
Si estás intentando ejecutar una prueba unitaria, hay que modificar el config del siguiente directorio:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.executionengine86.exe.config
Sacado de el blog Diary of a Ninja

Problema:
Da el siguiente error al ejecutar

{"No se puede cargar el archivo o ensamblado 'Microsoft.Dynamics.Ax.Xpp.Support, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ni una de sus dependencias. El sistema no puede encontrar el archivo especificado.":"Microsoft.Dynamics.Ax.Xpp.Support, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"}

Solución: 
Nos falta hacer login en el sesión de ManagedInterop.

     Microsoft.Dynamics.AX.ManagedInterop.Session session = new Microsoft.Dynamics.AX.ManagedInterop.Session();
     session.Logon(null, null, null, null);
     ....
     session.Logoff();



Hasta aquí es todo. Iré actualizando la lista a medida que me encuentre con más cosas.

Saludos.

9 comentarios:

Esneyder González Ponzón dijo...

Excelente. Sirvió

Jose R dijo...

OK. Funciona para web y winforms

Broken_Window dijo...

Funciona!!
Esto me pasó al usar las DLLs de SQLite en un proyecto de VBNet para .net 2.0 actualizado a .net 4.0.
Saludos

ignis dijo...

Muchas gracias por el blog, me sirvió con las DLLS de SQLite. Saludos.

Unknown dijo...

EXCELENTE. Gracias. (SQLite + EF)

Anónimo dijo...

Muchas Gracias, esto me ayudó con una dll de la version 2 para net 4.0

jaestevan dijo...

Algunas notas por si a alguien le sirve:

* El business connector sólo tiene soporte oficial para proyectos en el framework 3.5

* El uso del BC esta desaconsejado en AX 2012, sólo se mantiene por compatibilidad y no estará disponible en futuras versiones. Lo recomendable es utilizar servicios web.

Saludos.

Anónimo dijo...

Excelente Post, me ha resuelto el, muchas gracias!!!

Anónimo dijo...

Y si quiero agregar una dll de la versión 2.0 a un proyecto con framework 4.5?