[Windows Phone 7.5] Ejecutar varias instancias del emulador

Hola a todos!

Hoy os traigo un pequeño truco que puede resultar muy útil. Se trata de poder ejecutar múltiples instancias del emulador de Windows Phone en el mismo PC.

image

Esto nos será tremendamente útil si estamos desarrollando aplicaciones que interactúen entre usuarios, pudiendo tener 2 o 3 emuladores en nuestro PC con la aplicación iniciada o si queremos realizar una prueba larga de una aplicación mientras trabajamos en otra.

¿Como lo conseguimos? Lo primero que tenemos que hacer es ir a la carpeta AddOns de las Phone Tools que podemos encontrar en la siguiente ruta:

C:ProgramDataMicrosoftPhone ToolsCoreCon10.0addons

Una vez allí encontraremos un archivo llamado ImageConfig.en-US.xsl.si lo editamos con un editor de texto veremos que se trata de un XML con los datos de ejecución del emulador. Dentro de este XML tenemos que cambiar tres propiedades: El nombre del emulador, el GUID del emulador y el GUID de VMID.

Las dos primeras las encontraremos al principio del archivo:

<DEVICE Protected=»true» Name=»Windows Phone Emulator» ID=»5E7661DF-D928-40ff-B747-A4B1957194F9″>

Tenemos que generar un GUID, por ejemplo con la herramienta que incluye Visual Studio en Tools > Create GUID, ¡es importante escribir el GUID sin las llaves que genera la herramienta!

image

También tenemos que darle un nombre único, Por ejemplo “Windows Phone Emulator 2”. La siguiente clave a modificar es la VMID, podemos realizar una búsqueda hasta localizarla:

<PROPERTY ID=»VMID» Protected=»false»>
          {DF24EFAA-0FD3-44D1-8837-55E386D2905E}
</PROPERTY>

Aquí tenemos que copiar otro GUID, esta vez incluyendo las llaves. Una vez hecho esto, si abrimos Visual Studio y cargamos un proyecto de Windows Phone, podremos ver las diferentes instancias en las que ejecutar nuestra aplicación:

image

También las tendremos disponibles en la aplicación de despliegue:

image

Con este pequeño truco podremos tener varios emuladores en el mismo equipo, en mis pruebas me han funcionado perfectamente hasta un máximo de 3 emuladores. Con el 4º iniciándose el equipo se ha vuelto inestable hasta bloquearse completamente y he tenido que hacer un reset. Es muy posible que esto se deba a que no ha podido obtener el control de un core por VT. También, con 3 emuladores iniciados se ha producido el mismo efecto al responder una llamada de voz de Skype. Sin embargo con 2 emuladores no he tenido ningún tipo de incidencia. Destacar que el consumo es muy reducido en cuanto a memoria, unos 100Mb por emulador, por lo que no creo que el problema provenga de la memoria, creo que es más una cuestión de recursos de procesador. Mi PC es un Core i7 con 4 cores/8 hilos y 8Gb de RAM.

Con esta configuración, tener 3 emuladores iniciados no afecta significativamente el rendimiento del equipo.

Un saludo a todos y Happy Coding!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *