Hace unos días, podíamos leer en blog de Windows Azure como Alex Simmons afirmaba que Windows Azure Active Directory está listo para salir de su fase de preview y pasar a producción.
Si ya estáis probando la preview o tenéis pensado hacer algo con Windows Azure Active Directory, es posible que os encontréis con un problema al desplegar vuestra aplicación en Windows Azure. Y es que, al igual que pasa con la librería de WIF Microsoft.IdentityModel.dll, es necesario llevarnos las dll’s necesarias para trabajar con Windows Azure AD.
Necesitamos subir dll’s como:
- Microsoft.Data.Edm
- Microsoft.Data.OData
- Microsoft.Data.Services.Client
- Microsoft.WindowsAzure.ActiveDirectory.Authentication
- System.Spatial
Será necesario utilizar la aplicación gacutil.exe para registrar estas dll’s en la GAC. Por tanto, junto a las dll’s desplegaremos el ejecutable, así como su .config y una dll que utiliza gacutil, llamada gacutlrc.dll. Hay que tener cuidado con la elección de la aplicación gacutil para coger la versión correcta, y que soporte al menos .NET Framework 4.0. La podremos encontrar en la ruta C:/Program Files (x86)/Microsoft SDKs/Windows/V8.0A/bin/NETFX 4.0 Tools, y dentro de ésta, en la carpeta /1033, encontraremos la dll usada por la aplicación.
Estos tres archivos, junto a las dll’s necesarias, los meteremos en un carpeta Startup dentro del proyecto que vayamos a desplegar. Además necesitaremos un .cmd para ejecutar gactuil, así como marcar la propiedad Copy Local = true de cada uno de estos archivos.
El cmd estaría compuesto por una linea como esta para cada dll:
%˜dp0\gactuil.exe /i %˜dp0\Microsoft.WindowsAzure.ActiveDirectory.Authentication.dll
Una vez hecho esto, bastará con configurar una Startup Task en el archivo ServiceDefinition.csdef, que ejecute el .cmd.
Y eso es todo, espero que sea de utilidad.