<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://labloguera.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>La bloguera.net</title><link>http://labloguera.net/blogs/default.aspx</link><description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Mil gracias</title><link>http://labloguera.net/blogs/imartinez/archive/2009/07/04/mil-gracias.aspx</link><pubDate>Sat, 04 Jul 2009 15:17:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:72003</guid><dc:creator>ivan martinez</dc:creator><slash:comments>0</slash:comments><description>Hoy quiero dar gracias públicamente a todas las personas que han visitado este blog. En menos de 2 meses ya he recibido más de 1000 visitas y esto me da ánimos y fuerza para seguir escribiendo artículos. Lo dicho mil gracias a vosotros, saludos!&lt;img src="http://labloguera.net/aggbug.aspx?PostID=72003" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Personal/default.aspx">Personal</category></item><item><title>SP2 para Windows Server 2008 y Windows Vista</title><link>http://labloguera.net/blogs/imartinez/archive/2009/07/03/sp2-para-windows-server-2008-y-windows-vista.aspx</link><pubDate>Fri, 03 Jul 2009 21:39:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:72002</guid><dc:creator>ivan martinez</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ahora cuando la mayoría de usuarios ya esta disfrutando de la Release Candidate de Windows 7, y esperando su próxima salida al mercado, Microsoft ha publicado el esperado &lt;b&gt;Service Pack 2&lt;/b&gt; para Windows Vista y Windows Server 2008.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Este nuevo Service Pack incluye todas las actualizaciones realizadas
desde el SP1 y mejora la estabilidad y rendimiento del Sistema
Operativo. Se puede descargar mediante el servicio Windows Update o como descarga independiente en formato ejecutable o imagen .&lt;a href="http://es.wikipedia.org/wiki/Imagen_ISO" target="_blank"&gt;ISO&lt;/a&gt; para versiones de 32 y 64 bits. Antes de su instalación, los usuarios de vista deben instalar el &lt;b&gt;Service Pack 1&lt;/b&gt;. &lt;br&gt;&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;amp;FamilyID=a4dd31d5-f907-4406-9012-a5c3199ea2b3" target="_blank"&gt;Descargar SP2 para Windows Server 2008 y Windows Vista de 32 bits&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;amp;FamilyID=656c9d4a-55ec-4972-a0d7-b1a6fedf51a7" target="_blank"&gt;Descargar SP2 para Windows Server 2008 y Windows Vista de 64 bits&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9f073285-b6ef-4297-85ce-f4463d06d6cb" target="_blank"&gt;Descargar .ISO con el SP2 para Windows Server 2008 y Windows Vista&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://labloguera.net/photos/imartinez/images/72000/original.aspx" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/72000/500x311.aspx" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://labloguera.net/photos/imartinez/images/72001/original.aspx" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/72001/480x375.aspx" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=72002" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/SP/default.aspx">SP</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Windows+Vista/default.aspx">Windows Vista</category></item><item><title>[VSTS2008] Error: Visual Studio se cierra cuando se lanza la depuraci&amp;#243;n de un AddIn de Outlook (PowerCommands--)</title><link>http://labloguera.net/blogs/elbruno/archive/2009/07/03/vsts2008-error-visual-studio-se-cierra-cuando-se-lanza-la-depuraci-243-n-de-un-addin-de-outlook-powercommands.aspx</link><pubDate>Fri, 03 Jul 2009 14:34:49 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71997</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://img232.imageshack.us/img232/6867/bb725994teamsystembannesz8.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;hace un tiempo el amigo &lt;a href="http://geeks.ms/blogs/jlguerrero/default.aspx" target="_blank"&gt;JuanLu&lt;/a&gt; estuvo sentado al lado mío armando unas maquetas para ver como automatizar un proceso de proceso de pruebas unitarias para un proyecto que tenía integración con Microsoft Outlook 2007 a través de un AddIn. Lo primero que hicimos fue hacer un AddIn de carton piedra y tratar de ejecutar el mismo, pero cual fue mi sorpresa cuando al momento de “&lt;em&gt;presionar F5&lt;/em&gt;” me encontré con que la instancia de Visual Studio 2008 se cerraba sola. Yo estoy acostumbrado a comportamientos extraños del IDE de Visual Studio, porque por lo general le creo extensiones, instalo AddIns, etc.; pero en este caso estaba probando e una máquina de desarrollo limpia.&lt;/p&gt;  &lt;p&gt;Así que me puse a ver que pasaba en el proceso &lt;em&gt;devenv.exe*32&lt;/em&gt; y vi que el problema estaba relacionado con la carga de &lt;strong&gt;&lt;em&gt;System.Core.dll&lt;/em&gt;&lt;/strong&gt;, pero después cuando le di un par de vueltas más caí en que el problema estaba relacionado con las &lt;a href="http://code.msdn.microsoft.com/PowerCommands" target="_blank"&gt;&lt;strong&gt;&lt;em&gt;PowerComands de VS2008&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;. Como antes ya me habían dado otros problemas, probé con la solución de cajón: &lt;em&gt;desinstalar las PowerCommands y probar&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;Todo funcionó correctamente, así que ya sabes, si tienes que desarrollar AddIns para Outlook 2007, no te recomiendo las PowerCommands.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ Hospital&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;  &lt;p&gt;&lt;em&gt;PD: aquí (&lt;/em&gt;&lt;a title="http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/99e124d0-c5d7-49c0-b1dd-71328f9a6571" href="http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/99e124d0-c5d7-49c0-b1dd-71328f9a6571"&gt;http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/99e124d0-c5d7-49c0-b1dd-71328f9a6571) pueden&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;em&gt; ver un poco de información en un foro, que era el siguiente paso si no encontraba la solución rápidamente.&lt;/em&gt;&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71997" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Ante todo, agradecimientos</title><link>http://labloguera.net/blogs/cmas/archive/2009/07/03/ante-todo-agradecimientos.aspx</link><pubDate>Fri, 03 Jul 2009 10:42:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71996</guid><dc:creator>cmas</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Llevo ya cuatro o cinco años (¿o seis? cómo pasa el tiempo...) trabajando con Sharepoint, desde la versión de WSS 2.0 y SPS 2003, hasta las actuales WSS 3.0 y MOSS 2007. Cierto que también trabajé un poco con Sharepoint 2001, pero los juguetes no cuentan como herramientas &lt;img src="http://labloguera.net/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;.&lt;/P&gt;
&lt;P&gt;En estos años la web ha ido avanzando, y lo que ahora se conoce como Web 2.0 se inició, al menos en parte, con la mejora de la red y la opción que tomaron muchos usuarios de utilizarla como medio para aportar y recibir conocimiento&amp;nbsp;de y a otros.&lt;/P&gt;
&lt;P&gt;En mi caso particular, llevo muchos años trabajando de autónomo como Instructor y Consultor Sharepoint, y siempre he "absorbido" toda la información que muchas de estas personas han publicado desinteresadamente. Sin embargo, por diversos motivos, nunca he aportado nada, y la verdad, me siento en deuda. Así que espero a partir de ahora ir aportando mi granito de arena a la comunidad Sharepoint.&lt;/P&gt;
&lt;P&gt;Gracias a todos los &lt;A class="" title=SkunkWorks href="http://labloguera.net/controlpanel/blogs/www.gavd.net" target=_blank&gt;Gustavo Vélez&lt;/A&gt;, &lt;A class="" title="Sharepoint 2007 (el otro blog)" href="http://hinsua.blogspot.com/" target=_blank&gt;Héctor Insúa&lt;/A&gt;, &lt;A class="" title=CodeSegment href="http://www.ideseg.com/" target=_blank&gt;Carlos Segura Sanz&lt;/A&gt;, &lt;A class="" title=CIIN href="http://geeks.ms/blogs/ciin/" target=_blank&gt;CIIN&lt;/A&gt;&amp;nbsp;y tantos tantos otros, tanto en Español como en Inglés, que me han ido aportando conocimiento en este mundillo.&lt;/P&gt;
&lt;P&gt;Carlos Más&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71996" width="1" height="1"&gt;</description></item><item><title>Visual Studio, Subversion, nuevas versiones..</title><link>http://labloguera.net/blogs/jalbert/archive/2009/07/02/visual-studio-subversion-nuevas-versiones.aspx</link><pubDate>Thu, 02 Jul 2009 19:32:48 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71991</guid><dc:creator>jalbert</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;Desde hace un tiempo en mis proyectos de Visual Studio usaba un servidor de subversion donde almacenar los proyectos, aunque no trabajase con otras personas en los mismos. Resulta muy cómodo hacerlo de esta forma y poder abrir el proyecto en otros lados sin tener que preocuparte de andar echándolo al disco duro del portátil, al pendrive o similar y asi siempre llevar el proyecto actualizado contigo.&lt;/p&gt;  &lt;p align="justify"&gt;Ahora que estoy probando el Visual Studio 2010 y echaba de menos el plugin del subversion para él, hoy he vuelto a visitar la página del proyecto &lt;a href="http://ankhsvn.open.collab.net/" target="_blank"&gt;ankhsvn&lt;/a&gt; y he descubierto que la versión actual ya por fin lo soporta, asi que raudo y veloz lo he instalado.&lt;/p&gt;  &lt;p align="justify"&gt;Pues primer fallo, después de terminar la instalación no aparecía por ningún lado, ni en el 2010 ni en el 2008, asi que .. después de dar un par de vueltas he decidido hacerlo bien, es decir, desinstalándolo y volviéndolo a instalar y ahora si, funciona a la perfección.&lt;/p&gt;  &lt;p align="justify"&gt;Que gusto poder tener de nuevo el Visual Studio con el SVN y no tener que llevar el pendrive de aquí para allá, por supuesto podéis usar de forma nativa el TFS con el VS2010.&lt;/p&gt;  &lt;p align="justify"&gt;PD: últimamente&lt;/p&gt;  &lt;p align="justify"&gt;no he publicado nada, pero me ha faltado mucho tiempo libre para mi mismo y para poder probar cosas nueva y empezar a publicarlas. Espero tener algo de tiempo un dia de estos y volver a ponerme las pilas.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:686febe1-0e11-4b35-82bc-667b97dea462" class="wlWriterEditableSmartContent"&gt;Etiquetas de Technorati: &lt;a href="http://technorati.com/tags/subversion" rel="tag"&gt;subversion&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VS2010" rel="tag"&gt;VS2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VS2008" rel="tag"&gt;VS2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/div&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71991" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/jalbert/archive/tags/subversion/default.aspx">subversion</category><category domain="http://labloguera.net/blogs/jalbert/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://labloguera.net/blogs/jalbert/archive/tags/vs2010/default.aspx">vs2010</category></item><item><title>Manejando el navegador con una &#250;nica instancia</title><link>http://labloguera.net/blogs/pedro/archive/2009/07/02/manejando-el-navegador-con-una-nica-instancia.aspx</link><pubDate>Thu, 02 Jul 2009 09:47:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71990</guid><dc:creator>Pedro</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;En los últimos días se me ha planteado la necesidad de trabajar con el navegador web pero no incrustado dentro de nuestra aplicación sino de forma externa a ella. Además me interesaba trabajar con una única instancia del navegador de forma que cada vez que se quisiese visualizar una página nueva se recargase la instancia activa en ese momento.&lt;/p&gt;  &lt;p&gt;El primer planteamiento que hice fue el siguiente:&lt;/p&gt;  &lt;p&gt;using System;   &lt;br&gt;using System.Windows.Forms;    &lt;br&gt;using System.Diagnostics;&lt;/p&gt;  &lt;p&gt;namespace ManejandoNavegador   &lt;br&gt;{    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Form1 : Form    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Form1()    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void buttonGo_Click(object sender, EventArgs e)   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Process.Start("IEXPLORE.EXE", textBoxURL.Text);    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;Con esta solución cada vez que se visualizaba una página se lanzaba una nueva instancia del navegador, por lo tanto fue descartada.&lt;/p&gt;  &lt;p&gt;Una segunda solución planteada es la que se muestra a continuación:&lt;/p&gt;  &lt;p&gt;using System;   &lt;br&gt;using System.Windows.Forms;    &lt;br&gt;using System.Diagnostics;&lt;/p&gt;  &lt;p&gt;namespace ManejandoNavegador   &lt;br&gt;{    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Form1 : Form    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Process navegador;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Form1()    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void buttonGo_Click(object sender, EventArgs e)   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (navegador!=null)    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; navegador.Kill();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; navegador= Process.Start("IEXPLORE.EXE", textBoxURL.Text);    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;Con esta solución conseguimos que solo haya una instancia del navegador gracias a que cada vez que lanzamos una instancia nueva se cierra la instancia anterior. Esto provoca cierto parpadeo al cerrar una instancia y lanzar otra nueva. Esto hizo que se descartara también esta ultima solución.&lt;/p&gt;  &lt;p&gt;Finalmente decidí utilizar la siguiente solución añadiendo la referencia al COM Microsoft Internet Controls y añadiendo el “using SHDocVw”:&lt;/p&gt;  &lt;p&gt;using System;   &lt;br&gt;using System.Windows.Forms;    &lt;br&gt;using System.Diagnostics;    &lt;br&gt;using SHDocVw; &lt;/p&gt;  &lt;p&gt;namespace ManejandoNavegador   &lt;br&gt;{    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Form1 : Form    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InternetExplorer explorer;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Form1()    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void buttonGo_Click(object sender, EventArgs e)   &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (explorer==null)    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; explorer= new InternetExplorer();    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; explorer.Visible = true;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object Emtry = 0;    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; explorer.Navigate(textBoxURL.Text, ref Emtry, ref Emtry, ref Emtry, ref Emtry);     &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }    &lt;br&gt;}&lt;/p&gt;  &lt;p&gt;De este modo se consiguió visualizar las páginas deseadas sobre una misma instancia del navegador. El usuario simplemente apreciará que la página se recarga con cada página nueva.&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71990" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/pedro/archive/tags/InternetExplorer/default.aspx">InternetExplorer</category><category domain="http://labloguera.net/blogs/pedro/archive/tags/Process/default.aspx">Process</category></item><item><title>[TFS2008] HowTo: Configurar un server TFS con SSL (para WS2003 y WS2008)</title><link>http://labloguera.net/blogs/elbruno/archive/2009/07/01/tfs2008-howto-configurar-un-server-tfs-con-ssl-para-ws2003-y-ws2008.aspx</link><pubDate>Wed, 01 Jul 2009 18:04:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71989</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://img232.imageshack.us/img232/6867/bb725994teamsystembannesz8.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;lo apunto porque sino me lo olvido y despu&amp;eacute;s tengo que apechugarmelo solo para ver como se hace. &lt;/p&gt;
&lt;p&gt;En MSDN existe un paso a paso donde explican como configurar Team Foundation Server 2008 para que requiera HTTPS y funcione sobre SSL en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Walkthrough: Setting up Team Foundation Server to Require HTTPS and Secure Sockets Layer (SSL) &lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa833873.aspx" title="http://msdn.microsoft.com/en-us/library/aa833873.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa833873.aspx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta gu&amp;iacute;a est&amp;aacute; muy bien, pero est&amp;aacute; pensada para Windows Server 2003 y por consiguiente IIS 6. Ahora que ya empiezan a crecer los Windows Server 2008 como setas, para los simples mortales y developers como yo la cosa se complica un poco con IIS 7.&lt;/p&gt;
&lt;p&gt;Pero por suerte, en &lt;a target="_blank" href="http://blogs.msdn.com/dstfs/"&gt;el blog de TFS&lt;/a&gt; han publicado un art&amp;iacute;culo (PDF) donde explican como hacerlo en este entorno. Por ahora est&amp;aacute; como un doc interno y seguramente despu&amp;eacute;s de un proceso de aprobaci&amp;ograve;n se pasar&amp;aacute; oficialmente como un contenido de MSDN.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;SSL on TFS 2008 + Windows Server 2008 + IIS 7&lt;/strong&gt;&lt;/em&gt; &lt;br /&gt;&lt;a href="http://blogs.msdn.com/dstfs/archive/2009/07/01/ssl-on-tfs-2008-windows-server-2008-iis-7.aspx?CommentPosted=true#commentmessage" title="http://blogs.msdn.com/dstfs/archive/2009/07/01/ssl-on-tfs-2008-windows-server-2008-iis-7.aspx?CommentPosted=true#commentmessage"&gt;http://blogs.msdn.com/dstfs/archive/2009/07/01/ssl-on-tfs-2008-windows-server-2008-iis-7.aspx?CommentPosted=true#commentmessage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71989" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Team+Foundation+Server/default.aspx">Team Foundation Server</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Trabajando con Sockets</title><link>http://labloguera.net/blogs/pedro/archive/2009/07/01/trabajando-con-sockets.aspx</link><pubDate>Wed, 01 Jul 2009 11:23:54 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71988</guid><dc:creator>Pedro</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Últimamente ando liado con una aplicación cliente-servidor que requiere una comunicación en tiempo real del cliente con el servidor. Para agilizar esta comunicación pensé en utilizar sockets y aquí os paso un ejemplo de una simple aplicación tanto del lado del cliente como del lado del servidor.&lt;/p&gt;  &lt;p&gt;Del lado del servidor necesitamos quedar a la espera, en un puerto libre que no esté reservado por el sistema, de una petición de conexión del cliente. Una vez que el cliente realice una conexión con el servidor, se estable un socket entre ambos por el cual se puede transferir la información que sea necesaria.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Código del lado del servidor:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;using System;   &lt;br /&gt;using System.Net.Sockets;    &lt;br /&gt;using System.IO; &lt;/p&gt;  &lt;p&gt;namespace ConsoleApplicationSocketServer   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public class Program    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public static void Main(string[] args)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Puerto donde escuchará la aplicación servidora    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int puerto=10; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Servidor lanzado. Esperando conexión del cliente...&amp;quot;); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Se abre un puerto de escucha.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TcpListener tcpListener = new TcpListener(puerto);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; tcpListener.Start(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //El Servidor espera a que se conecte el cliente.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Socket socketForClient = tcpListener.AcceptSocket(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (socketForClient.Connected)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Cliente conectado correctamente.&amp;quot;); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Stream por donde se recibirá y enviará información al cliente.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NetworkStream networkstream = new NetworkStream(socketForClient); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; StreamWriter streamWriter = new StreamWriter(networkstream); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; StreamReader streamReader = new StreamReader(networkstream); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string dato = &amp;quot;Dato enviado desde el servidor&amp;quot;; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Enviamos información al cliente.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamWriter.WriteLine(dato);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Dato enviado al cliente&amp;quot;);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamWriter.Flush(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Recibimos información del cliente.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dato = streamReader.ReadLine();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(dato); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Cerramos los recursos abiertos.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamWriter.Close();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamReader.Close();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; networkstream.Close();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Cerramos el socket con el cliente.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; socketForClient.Close();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Cerrando aplicación. Pulse una tecla para finalizar&amp;quot;);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.ReadKey();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;En la parte del cliente simplemente necesitamos realizar una conexión con el servidor estableciendo el host y puerto donde está hospedada la aplicación servidora. A partir de ahí simplemente utilizaremos el socket creado para enviar y recibir información del servidor.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Código del lado del cliente:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;using System;   &lt;br /&gt;using System.Net.Sockets;    &lt;br /&gt;using System.IO; &lt;/p&gt;  &lt;p&gt;namespace ConsoleApplicationSocketCliente   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public class Program    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public static void Main(string[] args)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Puerto del servidor.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; int puerto = 10;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Host del servidor.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string host = &amp;quot;localhost&amp;quot;; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TcpClient socketForServer; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Establecemos socket con el servidor.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; socketForServer = new TcpClient(host, puerto);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Error conectando con el servidor {0}. Pulse una tecla para finalizar...&amp;quot;,host);   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.ReadKey();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Flujo de envio y recepción de datos al servidor   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NetworkStream networkStream = socketForServer.GetStream();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Para escribir datos en el flujo.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; StreamWriter streamWriter = new StreamWriter(networkStream);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Para leer datos del flujo.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; StreamReader streamReader = new StreamReader(networkStream);&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string dato;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Recibimos damos del servidor.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dato = streamReader.ReadLine();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(dato);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Enviamos datos al servidor    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamWriter.WriteLine(&amp;quot;Mensaje recibido en el cliente&amp;quot;);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamWriter.Flush();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(&amp;quot;Error recibiendo del servidor. Pulse una tecla para finalizar...&amp;quot;);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.ReadKey();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Cerramos los recursos abiertos.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamReader.Close();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; streamWriter.Close();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; networkStream.Close(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.ReadKey(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;La consola de salida de la aplicación servidora sería la siguiente:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://labloguera.net/blogs/pedro/image_4A645A18.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://labloguera.net/blogs/pedro/image_thumb_753CBE2A.png" width="395" height="83" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;La consola de salida de la aplicación cliente sería la siguiente:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://labloguera.net/blogs/pedro/image_6A1333E0.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://labloguera.net/blogs/pedro/image_thumb_030F0426.png" width="352" height="68" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71988" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/pedro/archive/tags/cliente-servidor/default.aspx">cliente-servidor</category><category domain="http://labloguera.net/blogs/pedro/archive/tags/Sockets/default.aspx">Sockets</category></item><item><title>[Evento] Novedades en Visual Studio 2010 (inducido por las fuerzas oscuras del averno)</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/30/evento-novedades-en-visual-studio-2010-inducido-por-las-fuerzas-oscuras-del-averno.aspx</link><pubDate>Tue, 30 Jun 2009 20:05:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71986</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032418903&amp;amp;EventCategory=4&amp;amp;culture=es-ES&amp;amp;CountryCode=ES"&gt;&lt;img src="http://www.secondnug.com/img/eventos/banners/20090707_VS2010.gif" align="middle" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;hace una semana &lt;a target="_blank" href="http://labloguera.net/blogs/elbruno/archive/2009/06/17/evento-novedades-en-visual-studio-team-system-2010-con-los-chicos-de-second-nug-live-meeting-como-un-campeon.aspx"&gt;coment&amp;eacute; que el pr&amp;oacute;ximo 7 de Julio webcast de por medio&lt;/a&gt;, comentar&amp;eacute; un poco sobre las novedades de Visual Studio Team System 2010, junto con los chicos de &lt;a target="_blank" href="http://www.secondnug.com/"&gt;SecondNug&lt;/a&gt;. No s&amp;eacute; si ser&amp;aacute; el destino &lt;span style="text-decoration:line-through;"&gt;o el olor a ajo&lt;/span&gt; pero desde ese momento, seres extra&amp;ntilde;os se me han acercado y siento que sombras poco difusas me persiguen por la calle. &lt;/p&gt;
&lt;p&gt;Finalmente hoy un personaje tenebroso se me acerc&amp;oacute; en el mercado y tuvimos la siguiente conversaci&amp;oacute;n:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ser Tenebroso (ST): - &amp;iquest;Bruno?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://elbruno.com"&gt;&lt;em&gt;El Bruno&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (EB): - mande usted&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ST: - &amp;iquest;Acaso no ser&amp;aacute;s v&amp;aacute;stago de las Tinieblas, persuasiva criatura de las profundidades, de lascivos miembros surgidos de la lujuria del Hades, esclavo torturado y salaz de tus amis estigios infernales?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;EB: &amp;ndash; No che, solo stoy comprando unas cervecitas, &amp;iquest;te prend&amp;eacute;s?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ST: &amp;ndash; &amp;iquest;No deseas probar carne humana, saborear el placer de un alma?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;EB: &amp;ndash; Yo prefiero el jam&amp;oacute;n con la cervecita&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Y en este momento, el fiera desapareci&amp;oacute; y se fu&amp;eacute; maldiciendo en algo que sonaba a usuario de Windows Vista cuando se cuelga o a alguna lengua muerta. Yo por las dudas, llegu&amp;eacute; a casa y revis&amp;eacute; que la maquina virtual de &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx"&gt;VSTS 2010&lt;/a&gt; Beta 1 funcione; y adem&amp;aacute;s que la presentaci&amp;oacute;n est&amp;eacute; bien. &lt;/p&gt;
&lt;p&gt;Por suerte estaba todo OK, asi que la mala suerte cae por otro lado pero Team System sigue hacia adelante asi que:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;El pr&amp;oacute;ximo 7 de Julio &amp;ndash;&amp;gt; Novedades en Team System 2010&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;En los casi 120 minutos del evento trataremos de dar un repaso a las novedades y mejoras que se incluyen en la Beta 1 de Visual Studio Team System 2010. Como hay mucho material y poco tiempo (hay que festejar en los San Fermines y el cumplea&amp;ntilde;os de Jorja Fox) veremos r&amp;aacute;pidamente algunas novedades en Team Foundation Server 2010, los cambios que se han incluido dentro de las nuevas versiones de C# y Visual Basic .NET; y muchas caracter&amp;iacute;sticas novedosas como el nuevo IDE basado en Windows Presentation Foundation, los dise&amp;ntilde;adores de la versi&amp;oacute;n para arquitectos y el nuevo modelo de administraci&amp;oacute;n de servidores. Vamos, que material nos sobra !!!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Se pueden registrar en:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032418903&amp;amp;EventCategory=4&amp;amp;culture=es-ES&amp;amp;CountryCode=ES" title="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032418903&amp;amp;EventCategory=4&amp;amp;culture=es-ES&amp;amp;CountryCode=ES"&gt;http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032418903&amp;amp;EventCategory=4&amp;amp;culture=es-ES&amp;amp;CountryCode=ES&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;o darse vuelta por la p&amp;aacute;gina del evento en Facebook &lt;a href="http://www.facebook.com/home.php#/event.php?eid=88219867985" title="http://www.facebook.com/home.php?#/event.php?eid=88219867985"&gt;http://www.facebook.com/home.php?#/event.php?eid=88219867985&lt;/a&gt; para ver en persona las caras de algunos participantes y de quien suscribe.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Saludos @ Single father&amp;rsquo;s life&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71986" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Event/default.aspx">Event</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Team+Foundation+Server+2010/default.aspx">Team Foundation Server 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>[VSTS2010] Novedades en la Gu&amp;#237;a de Proceso MSF for CMMI</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/29/vsts2010-novedades-en-la-gu-237-a-de-proceso-msf-for-cmmi.aspx</link><pubDate>Mon, 29 Jun 2009 21:51:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71980</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://img512.imageshack.us/img512/8168/vsts2010ru3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;ayer coment&amp;eacute; algo sobre &lt;a target="_blank" href="http://labloguera.net/blogs/elbruno/archive/2009/06/28/vsts2010-novedades-en-la-gu-237-a-de-proceso-msf-for-agile.aspx"&gt;las novedades en la gu&amp;iacute;a de proceso MSF for Agile&lt;/a&gt; que se incluir&amp;aacute; con &lt;a target="_blank" href="http://www.microsoft.com/visualstudio/en-us/products/teamsystem/default.mspx"&gt;&lt;/a&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx"&gt;VSTS 2010&lt;/a&gt;, hoy toca hablar un poco de su hermana: MSF for CMMI.&lt;/p&gt;
&lt;p&gt;Lo primero comentar que la mayor&amp;iacute;a de los cambios no est&amp;aacute;n incluidos en la Beta 1, por lo que deberemos esperar un par de meses para poder verlos ya que SI estar&amp;aacute;n disponibles en la Beta 2. Pero por ahora podemos revisar un poco &lt;a target="_blank" href="http://blogs.msdn.com/bharry/archive/2009/05/19/tfs-2010-project-management.aspx"&gt;lo que nos cuenta Brian Harry&lt;/a&gt; y comenzar a comprender como funcionar&amp;aacute; esta gu&amp;iacute;a. &lt;/p&gt;
&lt;p&gt;La siguiente imagen muestra las relaciones que existen entre los diferentes tipos de WorkItems incluidos en la gu&amp;iacute;a y adem&amp;aacute;s el tipo de relaci&amp;oacute;n (&lt;a target="_blank" href="http://labloguera.net/blogs/elbruno/archive/2008/10/28/tfs2010-nuevas-opciones-para-las-relaciones-entre-workitems.aspx"&gt;aprovechando las virtudes de&lt;/a&gt; &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx"&gt;VSTS 2010&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bharry/WindowsLiveWriter/TFS2010ProjectManagement_7A35/clip_image002_2.gif"&gt;&lt;img height="205" width="520" src="http://blogs.msdn.com/blogfiles/bharry/WindowsLiveWriter/TFS2010ProjectManagement_7A35/clip_image002_thumb.gif" alt="clip_image002" border="0" title="clip_image002" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Adicionalmente&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Compatible con CMMI 1.2 &lt;br /&gt;&lt;/strong&gt;Se ha actualizado la gu&amp;iacute;a para que soporte CMMI 1.2. Tened en cuenta que la versi&amp;oacute;n anterior era compatible con CMMI 1.1. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dow nuevos tipos de requerimientos &lt;br /&gt;&lt;/strong&gt;Se han agregado 2 nuevos tipos de requerimientos: &lt;em&gt;Business Objective &lt;/em&gt;y &lt;em&gt;Feature&lt;/em&gt; a los tipos existentes actualmente. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mejoras en los informes &lt;br /&gt;&lt;/strong&gt;Lo mismo que ayer: los informes ahora incluyen mucha m&amp;aacute;s informaci&amp;oacute;n adem&amp;aacute;s de enlaces a informaci&amp;oacute;n relevante, un nuevo look and feel, &lt;a href="http://labloguera.net/blogs/elbruno/archive/2009/01/01/vsts2010-integraci-243-n-con-office-creando-informes-en-excel-a-partir-de-workitem-queries.aspx"&gt;capacidad de creaci&amp;oacute;n en Excel desde cero&lt;/a&gt;, etc.. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Soporte a la fase de Test &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://labloguera.net/blogs/elbruno/archive/2009/04/07/vsts2010-camano-ejecutando-las-pruebas-tutorial-iii.aspx"&gt;Con la incoroporaci&amp;oacute;n de las nuevas herramientas de testing&lt;/a&gt;, se han modificado las gu&amp;iacute;as de proceso adem&amp;aacute;s para que incluyan las mismas en el ciclo de vida del desarrollo. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M&amp;aacute;s &amp;hellip; &lt;br /&gt;&lt;/strong&gt;Pues no, m&amp;aacute;s no. Ya que no podremos ver las novedades hasta la Beta 2, en este caso deberemos esperar. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;&lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71980" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Team+Foundation+Server+2010/default.aspx">Team Foundation Server 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>[VSTS2010] Novedades en la Gu&amp;#237;a de Proceso MSF for Agile</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/28/vsts2010-novedades-en-la-gu-237-a-de-proceso-msf-for-agile.aspx</link><pubDate>Sun, 28 Jun 2009 21:18:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71973</guid><dc:creator>elbruno</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;img src="http://img512.imageshack.us/img512/8168/vsts2010ru3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;con la llegada de &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx"&gt;VSTS 2010&lt;/a&gt;, adem&amp;aacute;s de las ya mencionadas novedades en el cliente y el en server; se han actualizado las gu&amp;iacute;as de proceso de MSF for Agile y MSF for CMMI. La nueva versi&amp;oacute;n no es solo una revisi&amp;oacute;n de la anterior, sino que supone un cambio de terminolog&amp;iacute;a y de forma de trabajo comparada con la versi&amp;oacute;n 4.2.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Terminolog&amp;iacute;a &lt;br /&gt;&lt;/strong&gt;Se han adoptado t&amp;eacute;rminos propios del mundo Agile: BackLog, User Story, etc.; y se han dejado de lado los t&amp;eacute;rminos propios que se heredaban de Microsoft. Si bien no hay est&amp;aacute;ndares definidos, el camino est&amp;aacute; guiado mayormente por las experiencias de la utilizaci&amp;oacute;n de SCRUM.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Simplificaci&amp;oacute;n &lt;br /&gt;&lt;/strong&gt;Se han simplificado los campos en los WorkItems, orient&amp;aacute;ndolos y organiz&amp;aacute;ndolos por la relevancia de los mismos. Mayormente se han eliminado campos, pero tambi&amp;eacute;n se han eliminado los tipos Risk y Quality of Service Requirment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scenario &amp;ndash;&amp;gt; User Story &lt;br /&gt;&lt;/strong&gt;La gu&amp;iacute;a de proceso se ha movido hacia las User Stories, que se pueden descomponer en tareas, que a su vez se pueden descomponer en otros elementos para dar forma a un producto.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jerarqu&amp;iacute;a &lt;br /&gt;&lt;/strong&gt;&lt;a target="_blank" href="http://labloguera.net/blogs/elbruno/archive/2008/10/28/tfs2010-nuevas-opciones-para-las-relaciones-entre-workitems.aspx"&gt;La incoporaci&amp;oacute;n de la jer&amp;aacute;rquia entre las relaciones entre los WorkItems&lt;/a&gt;, permite organizar de forma m&amp;aacute;s coherente los elementos. Por ejemplo, relaci&amp;oacute;n padre e hijo entre User Story y Tasks, relaci&amp;oacute;n de precedencia entre taraeas, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Informes mejorados &lt;br /&gt;&lt;/strong&gt;Pues no hay mucho que decir, los informes ahora incluyen mucha m&amp;aacute;s informaci&amp;oacute;n adem&amp;aacute;s de enlaces a informaci&amp;oacute;n relevante, un nuevo look and feel, &lt;a target="_blank" href="http://labloguera.net/blogs/elbruno/archive/2009/01/01/vsts2010-integraci-243-n-con-office-creando-informes-en-excel-a-partir-de-workitem-queries.aspx"&gt;capacidad de creaci&amp;oacute;n en Excel desde cero&lt;/a&gt;, etc..&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Soporte a la fase de Test &lt;br /&gt;&lt;/strong&gt;&lt;a target="_blank" href="http://labloguera.net/blogs/elbruno/archive/2009/04/07/vsts2010-camano-ejecutando-las-pruebas-tutorial-iii.aspx"&gt;Con la incoroporaci&amp;oacute;n de las nuevas herramientas de testing&lt;/a&gt;, se han modificado las gu&amp;iacute;as de proceso adem&amp;aacute;s para que incluyan las mismas en el ciclo de vida del desarrollo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M&amp;aacute;s &amp;hellip; &lt;br /&gt;&lt;/strong&gt;Pues lo mejor es descargar la Beta 1 y echarles un vistazo porque realmente contienen mucha informaci&amp;oacute;n interesante dentro de las mismas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;&lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fuente: &lt;a href="http://blogs.msdn.com/bharry/archive/2009/05/19/tfs-2010-project-management.aspx" title="http://blogs.msdn.com/bharry/archive/2009/05/19/tfs-2010-project-management.aspx"&gt;http://blogs.msdn.com/bharry/archive/2009/05/19/tfs-2010-project-management.aspx&lt;/a&gt;&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71973" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Team+Foundation+Server+2010/default.aspx">Team Foundation Server 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>[VSTS2010] Ejemplos para extender Visual Studio 2010 (a cholon !!!)</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/27/vsts2010-ejemplos-para-extender-visual-studio-2010.aspx</link><pubDate>Sat, 27 Jun 2009 20:44:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71970</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://img512.imageshack.us/img512/8168/vsts2010ru3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;despu&amp;eacute;s de festejar la victoria nro 100 del gran &lt;a href="http://www.valentinorossi.com/"&gt;Valentino Rossi&lt;/a&gt; con el peque&amp;ntilde;o Valentino y de jugar un rato en la piscina con el enano; tocaba volver un poco al mundo del los unos y ceros; y seguir probando los nuevos DSLs en VSTS 2010. Pero, como no andaba con ganas de ponerme a decompilar y ver el nuevo BUS de datos entre modelos, me fui a algo m&amp;aacute;s divertido: &lt;em&gt;extender el editor de c&amp;oacute;digo de Visual Studio&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Ayer coment&amp;eacute; &lt;a href="http://labloguera.net/blogs/elbruno/archive/2009/06/26/vsts2010-vside-doesn-t-start-after-install-an-ide-extension.aspx"&gt;algo al respecto&lt;/a&gt;, sobre algunos errores con estensiones que descargu&amp;eacute; desde MSDN Code Gallery, pero hoy me fui al c&amp;oacute;digo directamente y he probado las siguientes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Editor Extension Hands On Lab &lt;br /&gt;&lt;/strong&gt;Este HOL recorre un escenario de principio a fin para la creaci&amp;oacute;n de una extensi&amp;oacute;n del editor de VS. Es realmente interesante ya que si bien solo agrega elementos &amp;ldquo;verdes&amp;rdquo; al IDE, es muy f&amp;aacute;cil de entender el modelo de extensi&amp;oacute;n. &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/extensionHoL2009"&gt;http://code.msdn.microsoft.com/extensionHoL2009&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Highlight Word &lt;br /&gt;&lt;/strong&gt;Este HOL que permite remarcar palabras o secciones del c&amp;oacute;digo fuente en base a un patr&amp;oacute;n de ocurrencias. &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/highlightword"&gt;http://code.msdn.microsoft.com/highlightword&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Caret Fish Eye &lt;br /&gt;&lt;/strong&gt;Este HOL es muy interesante, aplica un &amp;ldquo;zoom&amp;rdquo; a la presentaci&amp;oacute;n del c&amp;oacute;digo y disminuye el tama&amp;ntilde;o de todo el c&amp;oacute;digo que est&amp;eacute; &amp;ldquo;lejos&amp;rdquo; del cursor en el editor. &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/caretfisheye"&gt;http://code.msdn.microsoft.com/caretfisheye&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diff Classifier &lt;br /&gt;&lt;/strong&gt;Este HOL permite resaltar elementos dentro de nuestro editor de c&amp;oacute;digo en base a comparaciones entre archivos o entre directorios. &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/diffclassifier"&gt;http://code.msdn.microsoft.com/diffclassifier&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Realmente la experiencia es muy buena, con un modelo de extensibilidad bastante simple (thanks MEF !!!), la capacidad de desplegar simplemente copiando ensamblados a un directorio y adem&amp;aacute;s aprovechando todas las capacidades de WPF.&lt;/p&gt;
&lt;p&gt;Sin emular a Nostradamus, me animo a pronosticar que adem&amp;aacute;s de las t&amp;iacute;picas herramientas que nos permiten ser m&amp;aacute;s &amp;aacute;giles en nuestro trabajo diario con Visual Studio (AddIns como ReSharper por ejemplo) veremos nuevas herramientas que estar&amp;aacute;n mas orientadas a una nueva experiencia de usuario pero para desarrolladores. &lt;/p&gt;
&lt;p&gt;&amp;iquest;Era hora no? desde hace bastante tiempo que los developers estamos pendientes de brindar una buena experiencia de usuario a los usuarios finales, pero nosotros seguiamos con un IDE &amp;ldquo;normal&amp;rdquo;; ahora las cosas seguro que cambiar&amp;aacute;n. Veremos que nos traen los pr&amp;oacute;ximos meses a nivel novedades :D&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71970" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>[VSTS2010] VSIDE doesn’t start after install an IDE Extension</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/26/vsts2010-vside-doesn-t-start-after-install-an-ide-extension.aspx</link><pubDate>Fri, 26 Jun 2009 20:10:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71965</guid><dc:creator>elbruno</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;img src="http://img512.imageshack.us/img512/8168/vsts2010ru3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;hoy decid&amp;iacute; seguir probando algunas cosillas en VS2010 y me encontr&amp;eacute; con un problema: estaba probando algunas de los ejemplos de extensibilidad del IDE de VSTS 2010 (&lt;a href="http://editorsamples.codeplex.com)y" title="http://editorsamples.codeplex.com/"&gt;http://editorsamples.codeplex.com) y&lt;/a&gt; de repente me encontr&amp;eacute; con que Visual Studio no levantaba correctamente; es decir, el proceso se lanzaba como se puede ver en la siguiente imagen, pero nunca aparec&amp;iacute;a el IDE de VS.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_5B9F871D.png"&gt;&lt;img height="451" width="408" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_3D91535C.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Antes de seguir, solo debo mencionar que estaba probando estos elementos sin tener instalado el SDK de VSTS 2010 Beta 1.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Me fui a la fuente a preguntar, y Victor (uno de los cracks de Clarius Consulting) me recomend&amp;oacute; que elimine la informaci&amp;oacute;n local de la extensi&amp;oacute;n que hab&amp;iacute;a instalado (&lt;a href="http://editorsamples.codeplex.com/Thread/View.aspx?ThreadId=60804" title="http://editorsamples.codeplex.com/Thread/View.aspx?ThreadId=60804"&gt;http://editorsamples.codeplex.com/Thread/View.aspx?ThreadId=60804&lt;/a&gt;). Eso hice, borrar todo el contenido del directorio [&lt;strong&gt;&lt;em&gt;C:\Users\TFSSetup\AppData\Local\Microsoft\VisualStudio\10.0\Extensions&lt;/em&gt;&lt;/strong&gt;] pero sin embargo el IDE segu&amp;iacute;a sin funcionar.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_18D01618.png"&gt;&lt;img height="375" width="892" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_386ECA13.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Asi que el siguiente paso, fue probar si el problema estaba relacionado con el usuario; inici&amp;eacute; una sesi&amp;oacute;n con otro usuario en la misma m&amp;aacute;quina de prueba y lanc&amp;eacute; VS2010: funcionaba correctamente, por lo que el problema estaba relacionado con el usuario. Asi que volv&amp;iacute; a la fuente:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;inci&amp;eacute; sesi&amp;oacute;n con el usuario que tenia problemas&lt;/li&gt;
&lt;li&gt;elimin&amp;eacute; las opciones de configuraci&amp;oacute;n local con el comando: devenv /resetsettings&lt;/li&gt;
&lt;li&gt;y Visual Studio funcion&amp;oacute; correctamente !!!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_31AB9AC3.png"&gt;&lt;img height="335" width="672" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_660C2171.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pues bien, ahora me queda pendiente instalar el SDK y probar si funciona. As&amp;iacute; que a instalar: primero el SDK&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_0978A00A.png"&gt;&lt;img height="459" width="509" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_1BB140FF.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;luego abrir el extension manager y lanzar el mismo&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_4902B102.png"&gt;&lt;img height="341" width="635" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_08BC71BB.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;selecciono una extensi&amp;oacute;n; como soy un cabezota vuelvo a probar con &lt;em&gt;Image Insertion&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_3B101F6D.png"&gt;&lt;img height="664" width="959" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_4353A92A.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;y luego de reinciar el IDE de VS, funciona correctamente&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_4477F66F.png"&gt;&lt;img height="664" width="959" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_2E9DE845.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;pues bien, la solucion: instlar el SDK de VS, o eso parece :D&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71965" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Construye un receptor de banda aerea</title><link>http://labloguera.net/blogs/thempra/archive/2009/06/26/construye-un-receptor-de-banda-aerea.aspx</link><pubDate>Fri, 26 Jun 2009 18:10:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71964</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><description>
&lt;p&gt;Como muchos sabeis, ultimamente me estoy acercando mas al mundo de la &lt;a href="http://www.facebook.com/v/1142935008489" target="_blank"&gt;aviacion&lt;/a&gt;, y como es obvio mi "cacharreo" se va reorientando por diversas temáticas nuevas. &lt;/p&gt;

&lt;p style="font-weight:bold;"&gt;¿Que es la Banda Aerea? &lt;/p&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp; La banda aerea es una frecuencia de radio comprendida entre los&amp;nbsp; &lt;strong&gt;118 y 136 MHz&lt;/strong&gt;, que estan reservados a las comunicaciones de aeronaves, y centros de control, se utiliza el espectro VHF dada la claridad de la señal. Para aviacion comercial y privada las comunicaciones se realizan sin cifrar y pueden ser captadas por cualquier dispositivo preparado para ello. &lt;/p&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp; Eso si, la transmision en estas frecuencias en determinadas zonas es ilegal, e interferir en señales como de aeropuertos y demas esta penalizado. Todo aquel que controle un poco de radiofrecuencia sabe que se tarda muy poco en triangular y localizar el emisor.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp; Existe una frecuencia especial, 121.5 Mhz, la cual esta reservada a situaciones de emergencia, en la cual siempre hay una persona alerta por si se declarase una situacion critica en la cual fuera necesario una atencion especial.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Hoy me gustaria compartir con vosotros un interesante video de como construir una radio de banda aerea con una radio de toda la vida, es decir conseguir saltar de los 107MHz hasta las frecuencias usadas por los aeropuertos.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;div align="center"&gt;
&lt;object width="425" height="344"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/1inPn-R_UDA&amp;amp;hl=es&amp;amp;fs=1&amp;amp;"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/1inPn-R_UDA&amp;amp;hl=es&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" width="425" height="344"&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Pero no todas las comunicaciones son en plano, sobre todo si hablamos de bases aereas militares, estas usan sistemas de codificacion para evitar ser descifradas, y aunque no es la finalidad de este articulos, no me gustaria terminar si decir que tambien existe software dedicado a la decodificacion de estas señales, como por ejemplo :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://www.n0hr.com/PocketDigi/PocketDigi_intro.htm" target="_blank"&gt;&lt;img src="http://www.n0hr.com/PocketDigi/pocketdigi_1_0_11.png" align="middle" width="247" height="322"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/div&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71964" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/aviacion/default.aspx">aviacion</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/banda+aerea/default.aspx">banda aerea</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/radio/default.aspx">radio</category></item><item><title>[Evento] Materiales de la presentaci&amp;#243;n de Robotics Studio en MadridDotNet</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/25/evento-materiales-de-la-presentaci-243-n-de-robotics-studio-en-madriddotnet.aspx</link><pubDate>Thu, 25 Jun 2009 20:31:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71962</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_76DE7E53.png"&gt;&lt;img height="232" width="605" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_1650AAB8.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;margin:0px 0px 10px 10px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;hace minutos termin&amp;oacute; la charla de &lt;a href="http://www.microsoft.com/robotics/"&gt;Microsoft Robotics Developer Studio&lt;/a&gt; que di en las oficinas de Madrid de Microsoft con los chicos de &lt;a target="_blank" href="http://www.madriddotnet.com/"&gt;MadridDotNet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La verdad es que siempre es un placer hacer este tipo de eventos, ya que son tecnolog&amp;iacute;as que no se cruzan todos los d&amp;iacute;as y adem&amp;aacute;s el hecho de ver un robotito esquivando las patas de las mesas, o el intento fallido de controlarlo utilizando el reconocimiento de voz de Windows 7; realmente deja contenta a la gente.&lt;/p&gt;
&lt;p&gt;Y una vez m&amp;aacute;s, los materiales del evento:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cid-bef06dffdb192125.skydrive.live.com/self.aspx/2009%2006%2025%20Robotics%20en%20MadridDotNet" title="http://cid-bef06dffdb192125.skydrive.live.com/self.aspx/2009%2006%2025%20Robotics%20en%20MadridDotNet"&gt;http://cid-bef06dffdb192125.skydrive.live.com/self.aspx/2009%2006%2025%20Robotics%20en%20MadridDotNet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe scrolling="no" marginwidth="0" frameborder="0" src="http://cid-bef06dffdb192125.skydrive.live.com/embedrowdetail.aspx/2009%2006%2025%20Robotics%20en%20MadridDotNet" marginheight="0" style="background-color:#ffffff;margin:3px;width:240px;height:66px;border:#dde5e9 1px solid;padding:0px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;y recuerden que gran parte de las demos est&amp;aacute;n incluidas en Robotics Studio !!!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Saludos @ La Finca&lt;/p&gt;
&lt;p&gt;&lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PD: &amp;iquest;alguien sac&amp;oacute; fotos?&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71962" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Event/default.aspx">Event</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Lego+Mindstorms+_2F00_+Microsoft+Robotics/default.aspx">Lego Mindstorms / Microsoft Robotics</category></item><item><title>Geeks.ms – Comparte el Conocimiento!</title><link>http://labloguera.net/blogs/imartinez/archive/2009/06/25/geeks-ms-comparte-el-conocimiento.aspx</link><pubDate>Thu, 25 Jun 2009 17:57:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71959</guid><dc:creator>ivan martinez</dc:creator><slash:comments>2</slash:comments><description>Hoy quiero hacer un poco de spam. Seguro que la mayoría de vosotros ya conocéis la comunidad sobre tecnologías de Microsoft &lt;a href="http://geeks.ms/" target="_blank"&gt;Geeks.ms&lt;/a&gt;, de hecho sé que algunos también disponéis de un blog allí.&lt;br&gt;&lt;br&gt;El caso es que recientemente han iniciado una &lt;a href="http://geeks.ms/blogs/rvivancos/archive/2009/06/22/geeks-ms-comparte-el-conocimiento.aspx" target="_blank"&gt;campaña&lt;/a&gt; para darse a conocer mediante una serie de banners. Como miembro de esa comunidad, aunque no dispongo de blog allí, si que la visito casi a diario, pues en ella hay gente de mucho nivel que comparte sus conocimientos y de la que se puede aprender mucho.&lt;br&gt;&lt;br&gt;Quiero aportar mi pequeño granito de arena, así que ya he añadido un banner en este blog. Existen diversos &lt;a href="http://geeks.ms/media/g/banners/default.aspx" target="_blank"&gt;diseños&lt;/a&gt; para escoger el que más os guste.&lt;br&gt;&lt;br&gt;&lt;a href="http://geeks.ms/" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/71958/120x240.aspx" border="0"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71959" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Banner/default.aspx">Banner</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/geeks/default.aspx">geeks</category></item><item><title>IIS Search Engine Optimization Toolkit, nuevas herramienta de Microsoft.</title><link>http://labloguera.net/blogs/elsammyboy/archive/2009/06/23/iis-search-engine-optimization-toolkit-nuevas-herramienta-de-microsoft.aspx</link><pubDate>Wed, 24 Jun 2009 04:03:11 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71957</guid><dc:creator>elsammyboy</dc:creator><slash:comments>1</slash:comments><description>Que tal amig@s , Hoy quiero comentarles acerca de IIS (Internet Information Services) Search Engine Optimization Toolkit (SEO). Básicamente es un conjunto de herramientas diseñadas para ayudar a los desarrolladores de web, proveedores de hosting y administradores de servidores a mejorar los resultados de búsqueda de su web en los buscadores. Uno de los objetivos fundamentales de esta nueva herramienta es mejorar el posicionamiento en buscadores, mejorar la indexación y el volumen y calidad del tráfico...(&lt;a href="http://labloguera.net/blogs/elsammyboy/archive/2009/06/23/iis-search-engine-optimization-toolkit-nuevas-herramienta-de-microsoft.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71957" width="1" height="1"&gt;</description></item><item><title>[EVENTO] Robotics en Madrid (despu&amp;#233;s de recorrer medio espa&amp;#241;a, el Lego desembarca @ Home)</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/23/evento-robotics-en-madrid-despu-233-s-de-recorrer-medio-espa-241-a-el-lego-desembarca-home.aspx</link><pubDate>Tue, 23 Jun 2009 14:26:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71955</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img height="408" width="462" src="http://i.msdn.microsoft.com/Bb648760.SimAndSensors(en-us,MSDN.10).png" align="right" alt="Bb648760.SimAndSensors(en-us,MSDN.10).png" style="margin:0px 0px 10px 10px;display:inline;" /&gt;Buenas,&lt;/p&gt;
&lt;p&gt;hace unos d&amp;iacute;as coment&amp;eacute; &lt;a target="_blank" href="http://labloguera.net/blogs/elbruno/archive/2009/06/19/robotics-microsoft-robotics-developer-studio-2008-r2-released.aspx"&gt;el lanzamiento de una actualizaci&amp;oacute;n R2 para Microsoft Robotics Developer Studio&lt;/a&gt; y tambi&amp;eacute;n que est&amp;aacute;bamos organizando una charla de &lt;a target="_blank" href="http://www.microsoft.com/robotics/"&gt;Robotics&lt;/a&gt; en Madrid con los chicos de &lt;a target="_blank" href="http://www.madriddotnet.com"&gt;MadridDotNet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Como buen Argentino, he molestado mucho a la genge de MadNUG, y finalmente he ganado por pesao y los chicos han accedido a que me lleve el LEGO el pr&amp;oacute;ximo jueves 25 de Junio para hablar un poco sobre &lt;a target="_blank" href="http://www.microsoft.com/robotics/"&gt;Microsoft Robotics Developer Studio&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;He aqu&amp;iacute; los datos del evento&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Evento: &lt;/strong&gt;MS Robotics Studio, despu&amp;eacute;s de Terminator Salvation comienza a entender a Skynet&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Descripci&amp;oacute;n:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ahora que conocemos un poco m&amp;aacute;s sobre el final de la guerra entre SkyNet y la humanidad, es bueno saber c&amp;oacute;mo podemos prepararnos para la misma. La &amp;uacute;ltima versi&amp;oacute;n de Microsoft Robotics Developer Studio por fin nos acerca un poco m&amp;aacute;s al ansiado objetivo de la conquista global del mundo utilizando robots. En esta charla veremos c&amp;oacute;mo podemos aprovechar esta tecnolog&amp;iacute;a y comenzar a programar nuestros primeros robots. Adem&amp;aacute;s de programaci&amp;oacute;n concurrente, orientaci&amp;oacute;n a servicios, etc.; veremos una implantaci&amp;oacute;n real de esta tecnolog&amp;iacute;a en un escenario concreto; como perseguir a tu mascota utilizando LEGO Mindstorms &amp;amp; Microsoft Robotics Studio y controlar un lanzamisiles USB.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Link de registro: &lt;a href="http://madriddotnet.spaces.live.com/blog/cns!6453107D41F04C68!232.entry" title="http://madriddotnet.spaces.live.com/blog/cns!6453107D41F04C68!232.entry"&gt;http://madriddotnet.spaces.live.com/blog/cns!6453107D41F04C68!232.entry&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Saludos @ La Finca y nos vemos el jueves !!!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71955" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Event/default.aspx">Event</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Lego+Mindstorms+_2F00_+Microsoft+Robotics/default.aspx">Lego Mindstorms / Microsoft Robotics</category></item><item><title>Windows 7 RC - Training Kit para desarrolladores </title><link>http://labloguera.net/blogs/imartinez/archive/2009/06/22/windows-7-rc-training-kit-para-desarrolladores.aspx</link><pubDate>Mon, 22 Jun 2009 20:55:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71948</guid><dc:creator>ivan martinez</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/windows/windows-7/" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/71949/original.aspx" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Para todo aquel que este interesado en familiarizarse con el desarrollo de aplicaciones para el nuevo Sistema Operativo Microsoft Windows 7, existe un kit de entrenamiento que proporciona la información y ayuda necesaria para su aprendizaje.&lt;br&gt;&lt;br&gt;Este kit se ha creado basándose en la versión Release Candidate de Windows 7 y consta de presentaciones PowerPoint, demostraciones y los ejemplos “hands-on-labs” que os ayudaran a desarrollar aplicaciones usando las nuevas funcionalidades de W7 cómo el &lt;i&gt;multi touch&lt;/i&gt;, los &lt;i&gt;ribbon&lt;/i&gt; o la nueva &lt;i&gt;barra de tareas&lt;/i&gt;. Todo el contenido &lt;u&gt;está en inglés&lt;/u&gt;.&lt;br&gt;&lt;br&gt;Para poder instalar el &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=12100526-ED26-476B-8E20-69662B8546C1&amp;amp;displaylang=en" target="_blank"&gt;Training Kit&lt;/a&gt;, obviamente es necesario disponer del S.O.&lt;a href="http://www.microsoft.com/windows/windows-7/download.aspx" target="_blank"&gt; Windows 7 RC&lt;/a&gt;, el SDK de este sistema, y el entorno Microsoft Visual Studio 2008 en cualquiera de su versiones, además de la aplicación de Office PowerPoint o su visor gratuito &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;amp;FamilyID=048dc840-14e1-467d-8dca-19d2a8fd7485" target="_blank"&gt;PowerPoint Viewer 2007&lt;/a&gt;. Una vez instalado, se accede al contenido mediante el navegador web:&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://labloguera.net/photos/imartinez/images/71945/original.aspx" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/71945/500x288.aspx" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://labloguera.net/photos/imartinez/images/71946/original.aspx" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/71946/500x288.aspx" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://labloguera.net/photos/imartinez/images/71947/original.aspx" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/71947/500x288.aspx" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71948" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Training+Kit/default.aspx">Training Kit</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>No puedo subir archivos pesados a mi Report Manager</title><link>http://labloguera.net/blogs/fdiaz/archive/2009/06/22/no-puedo-subir-archivos-pesados-a-mi-report-manager.aspx</link><pubDate>Mon, 22 Jun 2009 20:12:12 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71944</guid><dc:creator>FranDiaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Eso es lo que me pasó el otro día cuando intentaba subir un modelo de poco más de trece megas al Report Manager (versión SSRS2005). &lt;/p&gt;  &lt;p&gt;La verdad es que el errorcillo al intentar implementarlo (deploy) no es que indicara gran cosa, sólo una excepción del servicio web, después de ver en algunos links por internet &lt;a href="http://blogs.msdn.com/bobmeyers/archive/2009/04/27/considerations-for-a-large-report-model.aspx" target="_blank"&gt;me encontré con uno&lt;/a&gt; donde me explicaba que por defecto ASP.NET limita el tamaño de los archivos que se pueden cargar en un servidor a 4MB. &lt;/p&gt;  &lt;p&gt;Después de leer las consideraciones que hacía en su web, seguí el primer enlace que me explicó como agregar las etiquetas XML necesarias y listo!!! A subir archivos de más de 4MB :D. &lt;/p&gt;  &lt;p&gt;Claro que, si subes archivos muy grandes puede implicar un retardo importante y más si es una imagen…. &lt;/p&gt;  &lt;p&gt;Bueno, ahí os dejo el enlace: &lt;a title="http://msdn.microsoft.com/es-es/library/ms159226.aspx" href="http://msdn.microsoft.com/es-es/library/ms159226.aspx"&gt;http://msdn.microsoft.com/es-es/library/ms159226.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Espero que sea de vuestra utilidad&lt;/p&gt;  &lt;p&gt;Un Saludo&lt;/p&gt;
[cross-posting desde Geeks.ms]&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71944" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/fdiaz/archive/tags/Modelos/default.aspx">Modelos</category><category domain="http://labloguera.net/blogs/fdiaz/archive/tags/Report+Manager/default.aspx">Report Manager</category><category domain="http://labloguera.net/blogs/fdiaz/archive/tags/Report+Server/default.aspx">Report Server</category><category domain="http://labloguera.net/blogs/fdiaz/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://labloguera.net/blogs/fdiaz/archive/tags/Reporting+Services+2005/default.aspx">Reporting Services 2005</category></item><item><title>[TFS2010] HowTo: Lanzar la herramienta de configuraci&amp;#243;n de TFS manualmente</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/22/tfs2010-howto-lanzar-la-herramienta-de-configuraci-243-n-de-tfs-manualmente.aspx</link><pubDate>Mon, 22 Jun 2009 14:21:11 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71941</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img alt="" src="http://img512.imageshack.us/img512/8168/vsts2010ru3.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;Buenas,&lt;/p&gt;  &lt;p&gt;una de las cosas que más me gusta de las amebas es que no tienen problemas para buscar gafas ni pareja, pero claro tampoco tienen que instalar poductos Beta, asi que deben tener una vida bastante tranquila. Seguramente don ameba nunca se equivocó en el formulario de finalización de instalación de Team foundation Server 2010 y por error desmarcó la opción para lanzar la herramienta de configuración:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/buckh/WindowsLiveWriter/TFS2010Beta1Dontruninitialconfigurationf_8DBD/image_2.png"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/buckh/WindowsLiveWriter/TFS2010Beta1Dontruninitialconfigurationf_8DBD/image_thumb.png" width="760" height="579" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Yo si me equivoqué y me tuve que poner a buscar como lanzar la misma “a mano”. Por suerte el gran Buck Hodges ya nos hablaba de esto &lt;a href="http://blogs.msdn.com/buckh/archive/2009/05/18/tfs-2010-beta-1-don-t-run-initial-configuration-from-the-administration-console-mmc.aspx"&gt;aquí&lt;/a&gt; (desde donde me he tomado el atrevimiento de usar las pics) y entre otras cosas comentaba que el comando para lanzar la herramienta es el siguiente&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;quot;%programfiles%\Microsoft team foundation server 10.0\tools\tfsmgmt.exe&amp;quot; configure&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Asi que ya sabeis, si &lt;a href="http://geeks.ms/blogs/elbruno/archive/2009/06/21/tfs2010-error-en-la-instalaci-243-n-there-was-an-exception-while-launching-the-team-foundation-administration-console-value-cannot-be-null.aspx" target="_blank"&gt;teneis problemas con el instalador de TFS 2010&lt;/a&gt; o simplemente desmarcaste el check por error, el comando anterior te puede sacar de apuros.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Saludos @ La Finca&lt;/p&gt;  &lt;p&gt;El Bruno&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71941" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Team+Foundation+Server+2010/default.aspx">Team Foundation Server 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>El patr&#243;n Decorador</title><link>http://labloguera.net/blogs/jcalvarro/archive/2009/06/22/el-patr-n-decorador.aspx</link><pubDate>Mon, 22 Jun 2009 00:02:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71940</guid><dc:creator>jcalvarro</dc:creator><slash:comments>3</slash:comments><description>
&lt;p align="justify"&gt;Este post es una introducción al patrón decorador. Básicamente el patrón decorador nos permite añadir, modificar o eliminar comportamiento de una instancia de una clase en tiempo de ejecución. La clave está en que el objeto inicial no sabe que está siendo decorado. Sus principales ventajas con:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;El objeto original no tiene conocimiento de que está siendo &lt;br&gt;decorado.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;No hay una clase gigante con un montón de funcionalidades.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Las decoraciones son independientes unas de otras.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Las decoraciones complejas se pueden realizar por &lt;br&gt;composición de decoraciones más simples.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Se puede usar principalmente para:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Modificar el comportamiento de una clase “sealed”. &lt;/li&gt;

&lt;li&gt;Añadir estado o comportamiento nuevo a un objeto en &lt;br&gt;ejecución. &lt;/li&gt;

&lt;li&gt;Realizar cambios en algunos objetos de una clase sin afectar a &lt;br&gt;la clase entera. &lt;/li&gt;

&lt;li&gt;Evitar crear una jerarquía de herencia de clases muy grande. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Este sería el diagrama en UML del patrón:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://labloguera.net/photos/jcalvarro/images/71939/original.aspx" style="display:block;float:none;margin-left:auto;margin-right:auto;" height="236" width="528"&gt; &lt;/p&gt;

&lt;p&gt;Esta sería una implementación:&lt;/p&gt;
&lt;div style="border:1px solid silver;margin:20px 0px 10px;padding:4px;overflow:auto;text-align:left;line-height:12pt;width:98.07%;font-family:'Courier New',courier,monospace;direction:ltr;height:210px;max-height:200px;font-size:8pt;cursor:text;" id="codeSnippetWrapper"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;" id="codeSnippet"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum1"&gt;   1:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum2"&gt;   2:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum3"&gt;   3:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum4"&gt;   4:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum5"&gt;   5:&lt;/span&gt; &lt;span&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum6"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum7"&gt;   7:&lt;/span&gt; &lt;span&gt;namespace&lt;/span&gt; Decorador&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum8"&gt;   8:&lt;/span&gt; {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span&gt;class&lt;/span&gt; Program&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum10"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum11"&gt;  11:&lt;/span&gt;         &lt;span&gt;static&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Main(&lt;span&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum12"&gt;  12:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum13"&gt;  13:&lt;/span&gt;             IEditorTexto miEditor = &lt;span&gt;new&lt;/span&gt; EditorTexo();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum14"&gt;  14:&lt;/span&gt;             miEditor.AgregarFrase(&lt;span&gt;"Hola soy Javier?"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum15"&gt;  15:&lt;/span&gt;             miEditor.AgregarFrase(&lt;span&gt;"Tengo 21 años"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum16"&gt;  16:&lt;/span&gt;             miEditor.GuardarEnFichero(&lt;span&gt;"ejemplo.txt"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum17"&gt;  17:&lt;/span&gt;             EditorTextoHTML ehtml = &lt;span&gt;new&lt;/span&gt; EditorTextoHTML(miEditor);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum18"&gt;  18:&lt;/span&gt;             ehtml.AgregarFraseEnNegrita(&lt;span&gt;"Esta frase está escrita con el editor decorado"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum19"&gt;  19:&lt;/span&gt;             ehtml.GuardarEnFichero(&lt;span&gt;"ejemplo"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum20"&gt;  20:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum21"&gt;  21:&lt;/span&gt;     }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum22"&gt;  22:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum23"&gt;  23:&lt;/span&gt;     &lt;span&gt;//Interfaz para decorar&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum24"&gt;  24:&lt;/span&gt;     &lt;span&gt;internal&lt;/span&gt; &lt;span&gt;interface&lt;/span&gt; IEditorTexto&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum25"&gt;  25:&lt;/span&gt;     {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum26"&gt;  26:&lt;/span&gt;         &lt;span&gt;string&lt;/span&gt; Texto { get;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum27"&gt;  27:&lt;/span&gt;         &lt;span&gt;void&lt;/span&gt; AgregarFrase(&lt;span&gt;string&lt;/span&gt; frase);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum28"&gt;  28:&lt;/span&gt;         &lt;span&gt;void&lt;/span&gt; GuardarEnFichero(&lt;span&gt;string&lt;/span&gt; nombreFichero);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum29"&gt;  29:&lt;/span&gt;     }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum30"&gt;  30:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum31"&gt;  31:&lt;/span&gt;     &lt;span&gt;//Componente Básico&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum32"&gt;  32:&lt;/span&gt;     &lt;span&gt;internal&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; EditorTexo : IEditorTexto&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum33"&gt;  33:&lt;/span&gt;     {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum34"&gt;  34:&lt;/span&gt;         &lt;span&gt;private&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; elTexto;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum35"&gt;  35:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum36"&gt;  36:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; EditorTexo()&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum37"&gt;  37:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum38"&gt;  38:&lt;/span&gt;             elTexto = &lt;span&gt;""&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum39"&gt;  39:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum40"&gt;  40:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum41"&gt;  41:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; Texto&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum42"&gt;  42:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum43"&gt;  43:&lt;/span&gt;             get&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum44"&gt;  44:&lt;/span&gt;             {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum45"&gt;  45:&lt;/span&gt;                 &lt;span&gt;return&lt;/span&gt; elTexto;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum46"&gt;  46:&lt;/span&gt;             }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum47"&gt;  47:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum48"&gt;  48:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum49"&gt;  49:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; AgregarFrase(&lt;span&gt;string&lt;/span&gt; frase)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum50"&gt;  50:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum51"&gt;  51:&lt;/span&gt;             elTexto += frase;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum52"&gt;  52:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum53"&gt;  53:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum54"&gt;  54:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; GuardarEnFichero(&lt;span&gt;string&lt;/span&gt; nombreFichero)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum55"&gt;  55:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum56"&gt;  56:&lt;/span&gt;             FileStream fichero = File.Create(nombreFichero);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum57"&gt;  57:&lt;/span&gt;             TextWriter twr = &lt;span&gt;new&lt;/span&gt; StreamWriter(fichero);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum58"&gt;  58:&lt;/span&gt;             twr.Write(elTexto);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum59"&gt;  59:&lt;/span&gt;             twr.Flush();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum60"&gt;  60:&lt;/span&gt;             twr.Close();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum61"&gt;  61:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum62"&gt;  62:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum63"&gt;  63:&lt;/span&gt;     }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum64"&gt;  64:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum65"&gt;  65:&lt;/span&gt;     &lt;span&gt;//Decorador&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum66"&gt;  66:&lt;/span&gt;     &lt;span&gt;internal&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; EditorTextoHTML : IEditorTexto&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum67"&gt;  67:&lt;/span&gt;     {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum68"&gt;  68:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum69"&gt;  69:&lt;/span&gt;         &lt;span&gt;private&lt;/span&gt; IEditorTexto editor;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum70"&gt;  70:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum71"&gt;  71:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; EditorTextoHTML(IEditorTexto editor)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum72"&gt;  72:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum73"&gt;  73:&lt;/span&gt;             &lt;span&gt;this&lt;/span&gt;.editor = editor;&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum74"&gt;  74:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum75"&gt;  75:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum76"&gt;  76:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;string&lt;/span&gt; Texto&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum77"&gt;  77:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum78"&gt;  78:&lt;/span&gt;             get { &lt;span&gt;return&lt;/span&gt; editor.Texto; }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum79"&gt;  79:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum80"&gt;  80:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum81"&gt;  81:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; AgregarFrase(&lt;span&gt;string&lt;/span&gt; frase)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum82"&gt;  82:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum83"&gt;  83:&lt;/span&gt;             editor.AgregarFrase(frase);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum84"&gt;  84:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum85"&gt;  85:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum86"&gt;  86:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; AgregarFraseEnNegrita(&lt;span&gt;string&lt;/span&gt; frase)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum87"&gt;  87:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum88"&gt;  88:&lt;/span&gt;             editor.AgregarFrase(&lt;span&gt;string&lt;/span&gt;.Concat(&lt;span&gt;"&amp;lt;b&amp;gt;"&lt;/span&gt;,frase,&lt;span&gt;"&amp;lt;/b&amp;gt;"&lt;/span&gt;));&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum89"&gt;  89:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum90"&gt;  90:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum91"&gt;  91:&lt;/span&gt;         &lt;span&gt;public&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; GuardarEnFichero(&lt;span&gt;string&lt;/span&gt; nombreFichero)&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum92"&gt;  92:&lt;/span&gt;         {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum93"&gt;  93:&lt;/span&gt;             FileStream fichero = File.Create(nombreFichero+&lt;span&gt;".html"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum94"&gt;  94:&lt;/span&gt;             TextWriter twr = &lt;span&gt;new&lt;/span&gt; StreamWriter(fichero);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum95"&gt;  95:&lt;/span&gt;             twr.WriteLine(&lt;span&gt;"&amp;lt;HTML&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum96"&gt;  96:&lt;/span&gt;             twr.WriteLine(&lt;span&gt;"&amp;lt;HEAD&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum97"&gt;  97:&lt;/span&gt;             twr.WriteLine(&lt;span&gt;"&amp;lt;TITLE&amp;gt;\nVersión HTML\n&amp;lt;/TITLE&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum98"&gt;  98:&lt;/span&gt;             twr.WriteLine(&lt;span&gt;"&amp;lt;/HEAD&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum99"&gt;  99:&lt;/span&gt;             twr.WriteLine(&lt;span&gt;"&amp;lt;BODY&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum100"&gt; 100:&lt;/span&gt;             twr.WriteLine(editor.Texto);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum101"&gt; 101:&lt;/span&gt;             twr.WriteLine(&lt;span&gt;"&amp;lt;/BODY&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum102"&gt; 102:&lt;/span&gt;             twr.WriteLine(&lt;span&gt;"&amp;lt;/HTML&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum103"&gt; 103:&lt;/span&gt;             twr.Flush();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum104"&gt; 104:&lt;/span&gt;             twr.Close();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum105"&gt; 105:&lt;/span&gt;         }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum106"&gt; 106:&lt;/span&gt;     }&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;text-align:left;line-height:12pt;background-color:white;width:100%;font-family:'Courier New',courier,monospace;direction:ltr;color:black;font-size:8pt;"&gt;&lt;span id="lnum107"&gt; 107:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Básicamente tenemos una interfaz IEditorTexto, una clase que la implementa EditorTexto y una clase decoradora EditorTextoHTML que añade la funcionalidad de guardar el texto en html y de escribir frases en negrita.&lt;/p&gt;

&lt;p&gt;Finalmente un video explicativo del patrón y su uso:&lt;/p&gt;
&lt;a href="http://video.msn.com/video.aspx?vid=486736ec-29f6-46aa-a5ff-79d61aae1677" target="_new" title="El patrón Decorador"&gt;&lt;img src="http://img3.catalog.video.msn.com/Image.aspx?uuid=486736ec-29f6-46aa-a5ff-79d61aae1677&amp;amp;w=112&amp;amp;h=84" alt="El patrón Decorador" border="0" height="84" width="112"&gt;&lt;br&gt;El patrón Decorador&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71940" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/jcalvarro/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://labloguera.net/blogs/jcalvarro/archive/tags/Patrones+de+Dise_26002300_241_3B00_o/default.aspx">Patrones de Dise&amp;#241;o</category></item><item><title>Descarga gratis dos libros de Microsoft Press</title><link>http://labloguera.net/blogs/imartinez/archive/2009/06/21/descarga-gratis-dos-libros-de-microsoft-press.aspx</link><pubDate>Sun, 21 Jun 2009 10:22:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71928</guid><dc:creator>ivan martinez</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;En motivo de la celebración de su 25 aniversario, &lt;a href="http://www.microsoft.com/learning/en/us/training/format-books.aspx" target="_blank"&gt;Microsoft Press&lt;/a&gt; hace meses que regala libros en formato &lt;a href="http://es.wikipedia.org/wiki/.pdf" target="_blank"&gt;.PDF&lt;/a&gt;. Este mes, hay dos nuevos libros disponibles que pueden descargarse gratuitamente hasta el 24 de junio. Ambos libros están escritos en inglés:&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/learning/en/us/training/format-books.aspx" target="_blank"&gt;&lt;img src="http://labloguera.net/photos/imartinez/images/71927/original.aspx" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Libro:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programming for Unified Communications with Microsoft Office Communications Server 2007 R2&lt;br&gt;Autores: Rui Maximo, Kurt De Ding, Vishwa Ranjan, Chris Mayo, Oscar Newkerk, y el equipo de Microsoft Office Communications Server&lt;br&gt;ISBN:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9780735626232&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href="http://csna01.libredigital.com/?urrs4gt63d" target="_blank"&gt;Descargar el libro (PDF, 7.07 MB)&lt;/a&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Libro:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft Office Communications Server 2007 R2 Resource Kit&lt;br&gt;Autores: Rui Maximo, Rick Kingslan, Rajesh Ramanathan, Nirav Kamdar, y el equipo de Microsoft Office Communications Server&lt;br&gt;ISBN:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9780735626355&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href="http://csna01.libredigital.com/?urws8un4p7" target="_blank"&gt;Descargar el libro (PDF, 29.4 MB)&lt;/a&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71928" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/imartinez/archive/tags/e-book/default.aspx">e-book</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/libros/default.aspx">libros</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://labloguera.net/blogs/imartinez/archive/tags/OCS/default.aspx">OCS</category></item><item><title>[TFS2010] Error en la instalaci&amp;#243;n: There was an exception while launching the Team Foundation Administration Console: Value cannot be null.</title><link>http://labloguera.net/blogs/elbruno/archive/2009/06/21/tfs2010-error-en-la-instalaci-243-n-there-was-an-exception-while-launching-the-team-foundation-administration-console-value-cannot-be-null.aspx</link><pubDate>Sun, 21 Jun 2009 08:40:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71926</guid><dc:creator>elbruno</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://img512.imageshack.us/img512/8168/vsts2010ru3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Buenas,&lt;/p&gt;
&lt;p&gt;como todav&amp;iacute;a estamos en Beta 1 con &lt;a target="_blank" href="http://www.microsoft.com/visualstudio/en-us/products/teamsystem/default.mspx"&gt;&lt;/a&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx"&gt;VSTS 2010&lt;/a&gt;, no tengo derecho a dispersas mi opini&amp;oacute;n a los 4 vientos sobre lo que opino de este tipo de errores; en fase Beta 1 se perdonan muchas cosas, y adem&amp;aacute;s con la pila de novedades que funcionan de maravilla, un error hay que perdonarlo seguro !!! &lt;/p&gt;
&lt;p&gt;Asi que, siguiendo la t&amp;oacute;nica habitual de este blog, comentar&amp;eacute; el error y la forma &lt;span style="text-decoration:line-through;"&gt;no oficial porque todav&amp;iacute;a no est&amp;aacute; documentado oficialmente&lt;/span&gt; de solucionarlo.&lt;/p&gt;
&lt;p&gt;Como muchos de ustedes ya saben, gran parte de la administraci&amp;oacute;n de &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx"&gt;TFS&lt;/a&gt; 2010, se realiza utilizando un AddIn en Microsoft Management Console. Esta funcionalidad permite que los administradores de &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx"&gt;TFS&lt;/a&gt; puedan tener centralizada la tarea de administraci&amp;oacute;n en la &amp;ldquo;herramienta por defecto&amp;rdquo; que se utiliza para estas tareas.&lt;/p&gt;
&lt;p&gt;Ahora bien, cuando est&amp;aacute;s instalando &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx"&gt;TFS&lt;/a&gt; 2010 y llegas al final de la instalaci&amp;oacute;n, existe un check oculto que lanza una herramienta de administraci&amp;oacute;n para la configuraci&amp;oacute;n inicial de &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx"&gt;TFS&lt;/a&gt;. Esta herramienta utiliza algunos componentes compartidos que tambi&amp;eacute;n son los que se utilizan desde MMC. Pero, en determinadas situaciones nos podemos encontrar con un error como el siguiente:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_7C61F677.png"&gt;&lt;img height="176" width="423" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_39DE6CCD.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Microsoft Team Foundation Server Configuration Utility Error&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;There was an exception while launching the Team Foundation Administration Console: Value cannot be null&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Parameter Name: path1&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;El error no es muy descriptivo que digamos, y adem&amp;aacute;s si navegamos el visor de eventos de Windows o alg&amp;uacute;n log local tampoco encontraremos mucha m&amp;aacute;s informaci&amp;oacute;n relacionada. Si adem&amp;aacute;s tratamos de lanzar la herramienta de administraci&amp;oacute;n para la MMC, veremos el mismo error.&lt;/p&gt;
&lt;p&gt;Pues bien, como mi instalaci&amp;oacute;n ten&amp;iacute;a que quedar bien en poco tiempo, volv&amp;iacute; a algunas herramientas que ten&amp;iacute;a oxidadas y comenc&amp;eacute; a ver que pasaba; el problema se puede basar en las siguientes premisas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Los componentes que se han desarrollado para la administraci&amp;oacute;n de &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx"&gt;TFS&lt;/a&gt; en MMC, est&amp;aacute;n desarrollados con .Net Framework 4.0. &lt;/li&gt;
&lt;li&gt;Las extensiones que se montan en MMC, se ejecutan con el .Net Framewok 2.0.&lt;/li&gt;
&lt;li&gt;En .Net Framework 4.0, existe un m&amp;oacute;dulo de interoperatibilidad que permite que se puedan ejecutar aplicaciones basadas en .Net Framework 2.0, 3.0, 3.5 y 4.0 &lt;em&gt;sin problemas&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las &amp;uacute;ltimas 2 palabras son las que me dieron el problema. Parece ser que el .Net Framework 4.0 estaba mal instalado por lo que la soluci&amp;oacute;n fue reinstalarlo y 20 minutos despu&amp;eacute;s todo funcionaba de maravilla.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_25A504AA.png"&gt;&lt;img height="484" width="523" src="http://labloguera.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/elbruno/image_5F00_thumb_5F00_6F339100.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Saludos @ Home&lt;/p&gt;
&lt;p&gt;El Bruno&lt;/p&gt;
Crossposting from &lt;a href="http://elbruno.com"&gt;El Bruno&lt;/a&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71926" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Team+Foundation+Server+2010/default.aspx">Team Foundation Server 2010</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category><category domain="http://labloguera.net/blogs/elbruno/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Bienvenido a &quot;ElMaltratado&quot;, yo soy ... </title><link>http://labloguera.net/blogs/dpacheko/archive/2009/06/19/bienvenido-a-elmaltrado-yo-soy.aspx</link><pubDate>Fri, 19 Jun 2009 18:33:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:71921</guid><dc:creator>Diego Pacheko</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;&lt;img src="http://labloguera.net/emoticons/emotion-44.gif" alt="Coffee" /&gt;Bienvenido, este ameno blog no se tratara de otra cosa más que Visual Basic .Net y C#; y claro! uno que otro snippet de WPF.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Soy Diego Pacheco y cruzo el 2 año de mi carrera de Ingeniería de sistemas; respondo a los lenguajes cómo Visual Basic .Net, CSharp y C++/CLI; con la finalidad de aprender más de estos en el IDE de Microsoft, he creado este blog.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Doy la bienvenido a todos, espero que mi estancia en este dominio se la más larga posible y siempre con el animo de mostrarles lo mejor - y no tanto - de la tecnología .Net; responder comentarios y sugerencias; todo con la constante de aprender y ser mejor unos a otros. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ciao! &lt;/P&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=71921" width="1" height="1"&gt;</description></item></channel></rss>