Castle ActiveRecord y .NET Framework 4 Client Profile

En la última versión de Visual Studio 2010 cuando creamos una aplicación de escritorio, por defecto se configura para soportar .NET Framework 4 Client Profile. Lamentablemente la versión actual de Castle ActiveRecord (Version 2.2.1) no soporta este perfil y las aplicaciones que desarrollemos e incluyan las librerías de ActiveRecord no compilarán.

Entre varios mensajes de error que posiblemente encontrarán, verán algunos que dicen: The type or namespace name ‘Castle’ could not be found (are you missing a using directive or an assembly reference?)

Y también encontrarán algunos warnings como el siguiente: The referenced assembly “Castle.ActiveRecord” could not be resolved because it has a dependency on “System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” which is not in the currently targeted framework “.NETFramework,Version=v4.0,Profile=Client”. Please remove references to assemblies not in the targeted framework or consider retargeting your project.

La solución por ahora es cambiar el perfil de nuestra aplicación para utilizar .NET Framework 4 (a secas). Para hacer esto accedemos a las propiedaes del proyecto que no está compilando haciendo click derecho sobre el en el Solution Explorer, y escogiendo de Target Framework la opción .NET Framework 4.

No está demás aclarar que el Client Profile de .NET 4 (.net 3 también tiene un client profile) es una versión reducida del .NET Framework completo. Versión a la cual le quitaron varias clases que no son frecuentemente utilizadas por aplicaciones de escritorio.

Entre las clases removidas se encuentran todo System.web y Data.OracleClient, las cuales lamentablemente son utilizadas por Castle ActiveRecord.


One Response to “Castle ActiveRecord y .NET Framework 4 Client Profile”

  1. Esto fue arreglado en la versión 3.0 beta, lanzada el 10 de diciembre pasado 😉

Discussion Area - Leave a Comment