Desplegando LightSwitch en Azure. Varios click y CERO Código.

Llegó el momento, y  tras haber podido instalar el SP1 de Visual Studio+ LightSwitch Beta 2 (¡Como ya comenté en un post anterior, no era posible!), he continuado mis pasos con LightSwitch y ahora, con una  sencilla, sencilla publicación en Azure.

He aquí los pasos para el deploy en Azure de una aplicación LigthSwitch + acceso a datos con SQL Azure.

  • Antes de nada, veamos la configuración del deploy/publicación.

image

  • Pulsamos “Publish…”  y a seguir los pasos del wizard.

image

  • Como puede verse, podemos optar por modo “Desktop” o “Web” (Yo opto por el Web).

image

  • Seguidamente en el siguiente paso del Wizard introducimos  el “Subcription ID” copiado del portal de Azure. Exite un boton de acceso directo al mismo “Open the Windows Azure Portal”.
  • Seleccionamos un certificado o creamos uno nuevo, en cuyo caso será necesario “Copy Path” para localizar la ubicación del mismo y poderlo subir al portal de Azure, concretamente a “Management Certificates”.

image

  • Si no subimos el certificado a Azure según comento en el punto anterior, veremos el siguiente mensaje (“Could not connect to Windows Azure using the provided Subscription ID and Certificate”) y no podremos continuar:

image

  • Si todo va bien, accederemos al siguiente paso, donde seleccionaremos los datos de nuestra subscripción de azure sobre la que queremos realizar el despliegue. Adicionalmente  seleccionamos el “Environment”(Deployment) en el que se va a realizar el despliegue “Production” o “Staging”.

image

  • En el siguiente caso seleccionamos un certificado existente (.pfx) o creamos un nuevo certificado <Create new self-signed-certificate….>. IMPORTANTE. Este certificado tendremos que subirlo tambien a Azure a través de su portal, pero en este caso, lo asociaremos a la subscripción del despliegue.

image

  • Ahora toca el turno a la configuración de la conexión de datos (SQL Azure).

image

  • En el siguiente paso volvemos a seleccionar un certificado (distino al del selecionado en los pasos previos) o crear un nuevo certificado.

image

  • Si intentamos seleccionar el mismo certificado (.pfx) selecionado previamente en pasos anteriores, encontrearemos este otro error “Unable to add ‘<XapCertifie>.pfx’. A file with than name alread exists ”:

image

  • Una vez más y si todo va bien, pasaremos al siguiente paso, al último.

image

  • Publish…” y a esperar varios minutos con el siguiente mensaje en Visual Studio.

image

image

  • Una vez finalizada la espera.  Espera necesaria para la subida de los ficheros “.cspkg” y “ServiceConfiguration.cscfg” al storage de Azure, concretamente a un container “lightswitch”. A continuación se abrirá el portal de azure  y comenzará el despliegue.

image

  • Finalmente la aplicación esta en Azure (“EN LA NUBE”).

image

Ahora podemos eliminar el contenido del container “lightswitch” de Azure Storage. ¡Que pena que lo lo haga el despliegue de forma automática!. Será para la “Release”.   Junto a este pequeño inconveniente, encuentro otro adicional, sólo existe un camino para el despligue. LightSwich lo controla todo, no es posible hacer despligues manuales a partir de los ficheros de despliegue. ¡Bueno si, en el momento que comience la publicación, abortamos y en la carpeta “BinDebug” encontraremos dichos ficheros! Open-mouthed smile.  Desde mi punto de vista y sólo es una idea, el equipo de Azure está pensando 100% en el “Zero Code”, Winking smile.

 

Saluods @LightSwitch/SAzure
Juanlu

SQL Error: “database ‘msdb’ cannot be opened due to inaccessible files or insufficient memory or disk space”

¡Y yo que pensaba que el SQL no se corrompía¡.  Esta tarde/noche estaba trabajando con el SQL cuando de repente  Zaaas: database ‘msdb’ cannot be opened due to inaccesible files or insufficiente memory or disk space”.  Al abrir el Management Studio y desplegar el nodo “Databases” aparecía constantemente este error además del correspondiente en el log de eventos: “The log scan number (309:536:1) passed to log scan in database ‘msdb’ is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup”.

En mi caso y después de algunas pruebas y “vueltas” la solución ha sido:

  1. Copiar los ficheros “MSDBData.mdf” y “MSDBLog.ldf” desde la ruta “C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLTemplate Data” a la ruta “C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLDATA”. 
  2. Ejecutar desde una nueva consuta del Management Studio el script “instmsdb.sql”  situado en la carpeta “C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLInstall”

Es posible comprobar el estado de la base de datos, ejecutando la consulta 

select state_desc databasestatus_sysdtabase from sys.databases where name =’msdb‘  

cuyo resultado será “RECOVERY_PENDING”, sin embargo y una vez completados los pasos anteriores el resultado pasará a ser “ONLINE” lo que indicará que todo ha vuelto a la normalidad, ¡ooooooppppppps, que alegría!.

Nota: Aunque no estoy seguro, es posible que partiendo de cualquier fichero “MSDBData.mdf” y “MSDBLog.ldf”, de un compañero, máquina virtual, etc. y siguiendo estos pasos el problema quede resuelto.

Saludos
Juanlu

Visual Studio 2010 SP1 y LightSwitch deja de funcionar !!!

Muy buenas,

Acaba de salir el SP1 de Visual Studio 2010, jeje… ¡Es lo que tienen este tipo de aventuras!

Error:

Error        46        An exception occurred when building the database for the application.

Method not found: ‘Void Microsoft.Data.Schema.Sql.SchemaModel.ISqlSimpleColumn.set_IsIdentity(Boolean)’.        C:Program Files (x86)MSBuildMicrosoftVisualStudioLightSwitchv1.0Microsoft.LightSwitch.targets        95        10        AzureLightSwithcDemo1

Pasos que he seguido: (Mejor, mirad la solución, más abajo, Open-mouthed smile)

Despues de buscar en internet y seguir algunos pasos, como los de este enlace, “http://social.msdn.microsoft.com/Forums/en/lightswitchgeneral/thread/8a67fc8b-1221-4764-ab84-64a711fae4b2”, mi problema continua asi, que lo siguiente es “REPARAR” el SQL Server:

image

Nada, tampoco soluciona nada.

El problema continua, y por dar más detalle, concretamente en las siguientes líneas del fichero “C:Program Files (x86)MSBuildMicrosoftVisualStudioLightSwitchv1.0Microsoft.LightSwitch.targets”:

<BuildSchema Inputs="@(LightSwitchModel)"
              InstallDirectory="$(LightSwitchPath)"
              OutputDirectory="BinData"/>

Reinstalo LighSwitch y nada, todo sigue igual. No hay error de código pero tras la compilación aparece este “maldito” error.

Solución:

No hay. Desinstala el SP1 de Visual studio. He aquí la referencia que ha publicado hoy el equipo de LightSwitch: http://blogs.msdn.com/b/lightswitch/archive/2011/03/08/lightswitch-beta-1-is-incompatible-with-visual-studio-2010-sp1.aspx

En fin, que se le va a hacer, habrá que esperar a la Beta 2 de LigthSwitch, que saldrá en breve. 

Saludos
Juanlu

Algunos “Workarrounds” programando para Windows Azure

Hola a tod@s ,

En esta ocasion, me gustaría comentar algunos workarrounds sobre errores que podemos encontrar durante los desarrollos para Windows Azure.

  • There was an error attaching the debugger to the IIS worker process for URL” for role instance

image

Solución: Incluye la línea “ <compilation debug=”true” targetFramework=”4.0″ />” dentro de “<system.web>” del web.config.

  • ¿Quieres evitar que  el Compute Emulator del SDK 1.3 muestre constantemente la venta siguiente cuando tengas abierto un “web.config en el Visual Studio”?

image

Solución: Incluye la instrucción  “attrib -r “$(ProjectDir)Web.Config” en la propiedad “Post-build Event command line” en la propiedades del proyecto web.

  • Could not load file or assembly ‘msshrtmi’ or one of its dependencies. An attempt was made to load a program with an incorrect format.

Solución:

  1. Abre el proyecto en notepad
  2. Elimina el tag xml “PlatformTarget” de todas las “PropertyGroup”
  3. Ejemplo de un property group.

<PropertyGroup Condition=” ‘$(Configuration)|$(Platform)’ == ‘Debug|AnyCPU’ “>
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<Optimize>false</Optimize>
<WarningLevel>4</WarningLevel>
</PropertyGroup>

Adicionalmente me gustaría dejar algunas referencias al blog de Cesar de la Torre (Microsoft) donde encontrarás otros“workarrounds”:

Irán apareciendo más sobre la marcha y, sobre la marcha los iremos viendo! Open-mouthed smile

Saludos
Juanlu

Actualiza tu OCS (Office Communicator) a Microsoft Lync con sólo tener instalado el cliente

Muy buenas,

Como persona inquieta y “enreda” como me consideran algunos, Open-mouthed smile, hoy me decidí a instalar Microsoft Lync (“nueva version del OCS mejorada”), pero el problema es que me encontré con este error: “Cannot sign in to Lync:  Cannot sign in because the server version is incompatible with Microsoft Lync 2010. ”

image

La solución es muy fácil.  Una vez instalado Microsoft Lync 2010 en tu ordendaor:

  1. Busca en el registro de windows el path“[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftCommunicator]”. Sino existe creala.
  2. Una vez encontrada o creada crea “DisableServerCheck” de tipo DWORD.
  3. Establece el  valor “00000001”
  4. Tras estos pasos tendrás algo similar a esto:

image

seguro que alguna funcionalidad no estará activada, pero bueno, al menos por el momento tengo el Lync, Open-mouthed smile. Sobre la marcha veremos que va pasando !!!.

 

Aqúi dejo una referencia donde encontrar más detalles.

Gracias a otros enredas !!!
Saludos
Juanlu