<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Blog de Soma en español : .NET Framework</title><link>http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx</link><description>Tags: .NET Framework</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Extensión de la duración de las versiones beta de Visual Studio 2010 y .NET Framework 4</title><link>http://blogs.msdn.com/somaespanol/archive/2009/12/18/extensi-n-de-la-duracci-n-de-las-versiones-beta-de-visual-studio-2010-y-net-framework-4.aspx</link><pubDate>Sat, 19 Dec 2009 00:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9939009</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9939009.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9939009</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/12/17/visual-studio-2010-and-net-framework-4-beta-period-extended.aspx" mce_href="http://blogs.msdn.com/somasegar/archive/2009/12/17/visual-studio-2010-and-net-framework-4-beta-period-extended.aspx"&gt;inglés original&lt;/A&gt;: jueves, 17 de diciembre de 2009 a las 16:14 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644" mce_href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;En octubre, publicamos la beta 2 de Visual Studio 2010 y .NET Framework 4. Desde entonces, hemos recibido muchos comentarios útiles y constructivos de todos ustedes. Les damos las gracias.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Muchos de ustedes nos han proporcionado comentarios muy positivos acerca de las nuevas capacidades de VS 2010 y .NET Framework 4 y estamos muy satisfechos con el valor que esta versión va a proporcionar.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Al mismo tiempo, también nos han proporcionado comentarios acerca de los problemas de rendimiento, específicamente en algunos escenarios clave que incluyen el uso de memoria virtual. Como ha podido observar, hemos mejorado significativamente el rendimiento entre beta 1 y beta 2. Según lo que nos hemos oído, necesitábamos claramente realizar más trabajo. Durante los dos últimos meses, nuestro equipo de ingeniería ha hecho un gran esfuerzo para mejorar el rendimiento. Hemos realizado un progreso importante en este espacio desde la beta 2.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Con estas mejoras en el producto, queremos asegurarnos de que realmente arreglamos los problemas de rendimiento a la vez que seguimos manteniendo una alta calidad. Como resultado, vamos a ampliar el período de beta agregando otra versión de punto de control provisional, una candidata a la versión comercial que estará disponible públicamente en febrero de 2010.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Puesto que el objetivo de la candidata a la versión comercial es obtener más comentarios de los usuarios, el equipo necesitará tiempo adicional para reaccionar ante dichos comentarios antes de crear la versión final. &lt;A title=_MailEndCompose name=_MailEndCompose&gt;&lt;/A&gt;Por lo tanto, retrasamos el lanzamiento de Visual Studio 2010 y .NET Framework 4 unas cuantas semanas.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Continúe enviándonos sus comentarios. Tienen un gran impacto en el proceso de desarrollo del producto y nos ayuda a crear un producto de alta calidad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9939009" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Extensiones reactivas para .NET (Rx)</title><link>http://blogs.msdn.com/somaespanol/archive/2009/11/19/extensiones-reactivas-para-net-rx.aspx</link><pubDate>Thu, 19 Nov 2009 22:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925813</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9925813.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9925813</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/11/18/reactive-extensions-for-net-rx.aspx"&gt;inglés original&lt;/A&gt;: Miércoles, 18 de noviembre de 2009 a las 20:05 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Estoy encantado de anunciar una vista previa de las &lt;A href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx"&gt;Extensiones Reactivas para .NET (Rx)&lt;/A&gt; en DevLabs de MSDN.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Con Rx, los programadores pueden escribir código declarativo conciso para orquestar y coordinar programas asíncronos y basados en sucesos con las expresiones patrones de .NET. Rx tiene una gran base teórica basada en la dualidad entre los modelos de diseño clásicos Iterador y Observador para simplificar y controlar la asincronía. Combinando la expresividad de LINQ con la elegancia de la teoría de categoría, Rx permite a los programadores escribir código asíncrono sin realizar actos crueles y poco naturales.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Como el nombre implica, los programas reactivos reaccionan a los cambios en su entorno. Tradicionalmente, los programadores utilizar bloqueos y los controladores de eventos para coordinar estos cambios. Rx modela cálculos asíncronos y eventos como colecciones basadas en inserción u observables, expandiendo por tanto el ámbito de los métodos de extensión más allá de las colecciones basadas en extracción, o enumerables, familiares en el territorio de la programación reactiva y los operadores de secuencia estándar de LINQ.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Práctico y pragmático&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las extensiones reactivas para .NET son un conjunto de métodos de extensión y una implementación de los operadores de secuencia estándar de LINQ para los nuevos interfaces IObservable &amp;lt;out T&amp;gt; e IObserver &amp;lt;in T&amp;gt; en .NET 4 y Silverlight 4. Las interfaces observables se han agregado a .NET para proporcionar una interfaz común para las notificaciones basadas en inserción que otras bibliotecas y características de .NET pueden reutilizar. Rx se centra en la coordinación y orquestación de cálculos basados en sucesos y cálculo asíncrono y aprovecha la nueva biblioteca Task Parallel como mecanismo de simultaneidad subyacente.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las extensiones reactivas pueden utilizarse desde cualquier lenguaje .NET. En F #, los eventos de .NET son valores de primera clase que implementan la interfaz IObservable &amp;lt;out T&amp;gt;. Además, F # proporciona un conjunto básico de funciones para redactar colecciones observables y los programadores de F# pueden aprovechar Rx para obtener un conjunto más rico de operadores para redactar los eventos y otras colecciones observables.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El Kit de herramientas de Silverlight utiliza Rx para el funcionamiento del Drag and Drop Framework del kit de herramientas de Silverlight, un subconjunto de las API de WPF para iniciar e interactuar con operaciones de arrastre. El Drag and Drop Framework agrega compatibilidad con arrastrar y colocar a controles básicos, como TreeView, DataGrid, ListBox. Rx reduce drásticamente el tiempo de desarrollo al permitir operaciones de arrastrar, que son secuencias de eventos de usuario, ser descritas declarativamente. Silverlight crea elementos visuales de forma asíncrona y como resultado suele ser necesario escribir código de prueba asíncrono para asegurarse de que se ha creado correctamente un componente. La adición de recepción para el marco de pruebas de unidades de Silverlight permite a los programadores escribir pruebas basadas en eventos confiables sin sacrificar la legibilidad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Muéstrame código&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El ejemplo siguiente muestra un sencillo programa reactivo de estilo AJAX que traduce a inglés mediante el servicio de traducción Bing y muestra los resultados.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG style="WIDTH: 491px; HEIGHT: 313px" src="http://public.blu.livefilestore.com/y1p_894tdEnqbVS4nz4_qsANHouT6R-UDTedpprabNOhl6lqtU0RsMgHuyIffURj61YHR41rq5f2idLhBHO_yiknw/Rx.jpg" width=491 height=313 mce_src="http://public.Blu.livefilestore.com/y1p_894tdEnqbVS4nz4_qsANHouT6R-UDTedpprabNOhl6lqtU0RsMgHuyIffURj61YHR41rq5f2idLhBHO_yiknw/Rx.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El campo de entrada en la página se expone como una colección de cadenas observable que genera un valor siempre que el usuario deja de escribir durante medio segundo. El método de extensión GetKeyUpEvents expone el evento estándar de .NET KeyUp como una colección observable.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN class=apple-style-span&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;IObservable&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=apple-style-span&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=apple-style-span&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;string&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=apple-style-span&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt; words = (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;from&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;keyup &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;in&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt; Input.GetKeyUpEvents() &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;select&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;Input.Value).Throttle(&lt;/SPAN&gt;&lt;SPAN class=apple-style-span&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;TimeSpan&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.FromSeconds(.5))&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Para obtener acceso al servicio de traducción Bing, simplemente hemos convertir una referencia de servicio WCF que utiliza el estándar BeginInvoke y EndInvoke de .NET o el modelo asincrónico basado en eventos a una función que devuelve una colección observable singleton a través de una de las funciones auxiliares estándar que Rx proporciona.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;IObservable&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;TranslationResponse&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;Translate(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;this string &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;text,&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;string &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;sourceLanguage, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;string &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;destinationLanguage)&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face=Calibri&gt;{…}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;SPAN&gt;La coordinación entre los diversos cálculos utiliza una consulta LINQ que envía solicitudes al servicio de traducción Bing para traducir cada palabra en holandés, francés y español y espera a los dos primeros de tres resultados para volver mediante un modelo de combinación.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;translations =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;from&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;word&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;in&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;words&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;dutch =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Bing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.Translate(word,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #a31515; FONT-SIZE: 10pt"&gt;"en"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #a31515; FONT-SIZE: 10pt"&gt;"nl"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;french =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Bing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.Translate(word,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #a31515; FONT-SIZE: 10pt"&gt;"en"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #a31515; FONT-SIZE: 10pt"&gt;"fr"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;spanish =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Bing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.Translate(word,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #a31515; FONT-SIZE: 10pt"&gt;"en"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #a31515; FONT-SIZE: 10pt"&gt;"es"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;from&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;results&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;in&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Observable&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.Join&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&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;( dutch.And(spanish).Then((d, s) =&amp;gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;new&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;{ Dutch = d, French =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Bing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.NoResult, Spanish = s })&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&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;, dutch.And(french).Then((d, f) =&amp;gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;new&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;{ Dutch = d, French = f, Spanish =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Bing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.NoResult })&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&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;, french.And(spanish).Then((f, s) =&amp;gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;new&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;{ Dutch =&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Bing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;.NoResult, French = f, Spanish = s })&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&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;).Until(words)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: blue; FONT-SIZE: 10pt"&gt;select&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&amp;nbsp;results;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Por último, nos suscribimos a los resultados de las traducciones y actualizamos la interfaz de usuario una vez que se ha notificado un cambio.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;translations.Subscribe(result =&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Dutch.InnerText = result.Dutch.GetTranslatedTerm();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;French.InnerText = result.French.GetTranslatedTerm();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Spanish.InnerText = result.Spanish.GetTranslatedTerm();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Lucida Console'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;});&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Los desarrolladores no necesitan preocuparse acerca de cómo ejecutar la suscripción en el subproceso correcto; el motor en tiempo de ejecución de Rx se ocupa de ello.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Material de bonificación&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Además de los métodos de extensión en colecciones observables, Rx también contiene un número de tipos y espacios de nombres que implementan algunos de los nuevos métodos de extensión para las colecciones observables sobre colecciones enumerables y un puerto de espera de PLINQ para .NET 3.5 están disponibles para que los desarrolladores puedan experimentar.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Juguemos&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Puede &lt;A href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx"&gt;Descargar Rx&lt;/A&gt; (en inglés) desde DevLabs. Díganos lo que piensa en el &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/rx/threads"&gt;foro del proyecto&lt;/A&gt; (en inglés) y eche un vistazo a los &lt;A href="http://channel9.msdn.com/tags/Reactive+Framework/"&gt;vídeos y screencasts de Channel 9&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925813" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/DevLabs/default.aspx">DevLabs</category></item><item><title>Desarrollo para la web mediante .NET 4 y VS 2010</title><link>http://blogs.msdn.com/somaespanol/archive/2009/11/09/desarrollo-para-la-web-mediante-net-4-y-vs-2010.aspx</link><pubDate>Mon, 09 Nov 2009 17:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9919655</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9919655.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9919655</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/11/03/developing-for-the-web-using-vs-2010-and-net-4.aspx"&gt;inglés original&lt;/A&gt;: martes, 3 de noviembre de 2009 a las 22:50 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Visual Studio 2010 y 4 de .NET están repletos de nuevas características diseñadas para mejorar la productividad del desarrollador. Algunas son pequeños cambios y otras son más importantes. En conjunto proporcionan una ganancia significativa en la productividad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Cada vez más desarrolladores miran a la web para poder generar y entregar aplicaciones que sacan partido del alcance y la simplicidad de la web. Con Visual Studio 2010 y 4 de ASP.NET, hay un número de nuevas características para ayudarle a hacer exactamente eso. Deseo resaltar algunas de las nuevas características.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Fragmentos de HTML, ASP.NET y JavaScript&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Los usuarios de C# y VB han utilizado fragmentos durante años para acelerar la productividad del desarrollador. Ahora los desarrolladores web pueden experimentar estos mismos beneficios en productividad en HTML, ASP.NET y JavaScript. Hay cientos de nuevos fragmentos que le ayudarán a Autocompletar etiquetas comunes de ASP.NET y HTML, incluidos los atributos necesarios (como runat = "server") y atributos específicos de una etiqueta (como ID, DataSourceID, ControlToValidate y Text).&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1p2eLp39-eFbwKPma3x-qvdCOUa1W6lO0-HWWPJpsRBica9Tck6i5n46ceZG5lwGw_AEdlX0vqQ-cnbZC53yBe5Q/Snippets.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1p2eLp39-eFbwKPma3x-qvdCOUa1W6lO0-HWWPJpsRBica9Tck6i5n46ceZG5lwGw_AEdlX0vqQ-cnbZC53yBe5Q/Snippets.jpg"&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1p9q-5lcb8VcFYU9Kb5Y5q0y90uHuTUjYcO-321T16mAAyRYdDyA0NjKIkeiZM0v7IqIMrlXlMkBL5ZmtOUo03Zw/RBLSnippet.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1p9q-5lcb8VcFYU9Kb5Y5q0y90uHuTUjYcO-321T16mAAyRYdDyA0NjKIkeiZM0v7IqIMrlXlMkBL5ZmtOUo03Zw/RBLSnippet.jpg"&gt;&lt;A href="http://kxacog.blu.livefilestore.com/y1p9q-5lcb8VcFYU9Kb5Y5q0y90uHuTUjYcO-321T16mAAyRYdDyA0NjKIkeiZM0v7IqIMrlXlMkBL5ZmtOUo03Zw/RBLSnippet.jpg"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;IntelliSense dinámico para JavaScript&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Uno de los mayores desafíos a los que se enfrentan los desarrolladores al codificar con lenguajes dinámicos como JavaScript, es que los tipos se añaden y modifican dinámicamente. Esto puede hacer que IntelliSense sea prácticamente inútil. En Visual Studio 2010, el motor IntelliSense de JavaScript se ha rediseñado para que funcione sin problemas con tipos dinámicos. Por ejemplo, ahora obtendrá IntelliSense para los tipos generados por registerNamespace. El motor también agrega compatibilidad para bibliotecas de JavaScript más comunes. A continuación puede ver un ejemplo de IntelliSense para un tipo recién registrado con una nueva función.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pv7MAbdPjUqLR7ODUqK5cdT7D8JehXLDW4cUEWhC2EX5MKVnoAnZh_X64fr9J-6C-7vmdSef8pv2fxVd6iBGIqQ/JSIntelliSense.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1pv7MAbdPjUqLR7ODUqK5cdT7D8JehXLDW4cUEWhC2EX5MKVnoAnZh_X64fr9J-6C-7vmdSef8pv2fxVd6iBGIqQ/JSIntelliSense.jpg"&gt;&lt;A href="http://kxacog.blu.livefilestore.com/y1pv7MAbdPjUqLR7ODUqK5cdT7D8JehXLDW4cUEWhC2EX5MKVnoAnZh_X64fr9J-6C-7vmdSef8pv2fxVd6iBGIqQ/JSIntelliSense.jpg"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Implementación simplificada para Web&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La implementación para web siempre ha sido un problema muy difícil para los desarrolladores. La lógica de la aplicación, las bases de datos, configuración de IIS, datos y configuración de aplicación, todo tiene que ser aplicado antes de la implementación.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Ahora, MSDeploy, una nueva herramienta de implementación, empaqueta todos los valores, archivos y datos asociados con una aplicación web. Estos paquetes, a continuación, se pueden implementar en sitios remotos o pueden ser archivados para su futura recuperación. La consola de administración de IIS7 incluye ahora un asistente para importar los paquetes creados al MSDeploy.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Visual Studio 2010 integra MSDeploy perfectamente en el flujo de trabajo de desarrollo web y agrega características solicitadas a menudo, como automatización de transformaciones de web.config para modificar la configuración común (como extremos de servicio web y cadenas de conexión) y la implementación de base de datos antes de pasar de equipo de desarrollo a un servidor de ensayo o producción. A continuación puede ver el nuevo cuadro de diálogo publicación simplificada:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pPhSlQMihdlcSDUu2703gGE_vr2TQniC_H_YN3Cq893buAKE8uvf2wPXfDJAOFSjjZMykK_rElVX3AQD-kmsaTw/MSDeploy.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1pPhSlQMihdlcSDUu2703gGE_vr2TQniC_H_YN3Cq893buAKE8uvf2wPXfDJAOFSjjZMykK_rElVX3AQD-kmsaTw/MSDeploy.jpg"&gt;&lt;A href="http://kxacog.blu.livefilestore.com/y1pPhSlQMihdlcSDUu2703gGE_vr2TQniC_H_YN3Cq893buAKE8uvf2wPXfDJAOFSjjZMykK_rElVX3AQD-kmsaTw/MSDeploy.jpg"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Nuevas plantillas de aplicación&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Empezar a desarrollar para la web puede parecer desalentador para los nuevos desarrolladores. Visual Studio 2010 incluye plantillas de aplicación web para ASP.NET 4. Estas plantillas incluyen todo lo que necesita para empezar a trabajar: un modelo de contenido/patrón para la coherencia de la página, menús, inicio de sesión y hojas de estilos CSS y jQuery para crear aplicaciones enriquecidas de JavaScript. Estas plantillas le proporcionan una aplicación web que funciona desde el principio para que así pueda empezar a trabajar en agregar su propia funcionalidad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Mejoras de CSS&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Los Controles ASP.NET tienen ahora una propiedad ClientIDMode que le permite cambiar cómo generan su ClientID. Saber el ClientID es especialmente importante cuando se aplican estilos con CSS o cuando escribe JavaScript para tener acceso al HTML DOM.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;El Diseñador de HTML de Visual Studio 2010 ha mejorado la compatibilidad con CSS 2.1, que proporciona una representación más precisa en tiempo de diseño comparado con cómo representará el explorador la página en tiempo de ejecución.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Más espacio en pantalla&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Uno de los productos más valiosos en un entorno de desarrollo es el espacio en pantalla. Visual Studio 2010 ofrece que una gran variedad de opciones que los desarrolladores pueden personalizar para optimizar el espacio en pantalla y la experiencia de desarrollo. El perfil de Web optimiza estos valores para maximizar el espacio en pantalla y mantener los comandos más utilizados por el desarrollador al alcance de la mano. Puede elegir el perfil de Web al iniciar Visual Studio por primera vez o cambiar su perfil más adelante mediante el menú Herramientas | Importar y exportar configuración...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pKuTxNXIlBYRevKZj_Yku8yTrdd-U7CI8tZu4Uk_z-rtfUD7QdIO0AkXtoBSMiNUBFHp6j-xgwfJm6aVG4yxK4w/CodeOptimized.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1pKuTxNXIlBYRevKZj_Yku8yTrdd-U7CI8tZu4Uk_z-rtfUD7QdIO0AkXtoBSMiNUBFHp6j-xgwfJm6aVG4yxK4w/CodeOptimized.jpg"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Web.config limpios&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A veces menos es más. Ésta es una de esas características. Cuando ASP.NET se introdujo por primera vez, no era siquiera necesario un archivo web.config. Y cuando lo era, a menudo sólo contiene unas pocas entradas. Según se han ido agregando nuevas características a ASP.NET, el archivo web.config ha crecido en tamaño y complejidad, lo que hace más difícil de leer y mantener el archivo. ASP.NET 4 devuelve el archivo de configuración mínima.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Enrutamiento URL con Web Forms de ASP.NET&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El enrutamiento de URL es una característica común a los proyectos MVC. ASP.NET 4 admite el enrutamiento de URL para los formularios web. Ahora puede definir direcciones URL que son significativas para su aplicación y comprensibles para sus usuarios. Estas URL simplificadas también ayudan en la optimización de motores de búsqueda (SEO).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Más información&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Esto es sólo un ejemplo de las mejoras para los desarrolladores de web en Visual Studio 2010. Puede ver una lista completa de las nuevas características para desarrollo web &lt;A href="http://www.asp.net/learn/whitepapers/aspnet4/default.aspx"&gt;aquí&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Una cosa más...&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Si ha estado utilizando Visual Studio 2010 Beta 2, nos gustaría conocer su opinión. Por favor, &lt;A title="Visual Studio 2010 Beta 2 survey" href="https://mscuillume.smdisp.net/Collector/Survey.ashx?Name=D10G1"&gt;responda a la encuesta&lt;/A&gt; (en inglés) y comuníquenos sus experiencias.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;A href="https://mscuillume.smdisp.net/Collector/Survey.ashx?Name=D10G1" mce_href="https://mscuillume.smdisp.net/Collector/Survey.ashx?Name=D10G1"&gt;&lt;IMG style="WIDTH: 240px; HEIGHT: 85px" title="Got Feedback?" border=0 alt="Got Feedback?" src="http://zuby5a.blu.livefilestore.com/y1p_ppcnQFHRQ9bWWe7E_fYWT6PRj4Bu1OR01iSRYBaGn2VXmU73LydAtnh4St5qRYNiHyLCB24WAH_pl7qaQnxBg/Feedback.jpg" width=240 height=85 mce_src="http://zuby5a.blu.livefilestore.com/y1p_ppcnQFHRQ9bWWe7E_fYWT6PRj4Bu1OR01iSRYBaGn2VXmU73LydAtnh4St5qRYNiHyLCB24WAH_pl7qaQnxBg/Feedback.jpg"&gt;&lt;/A&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/I&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919655" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Spec Explorer: Una herramienta de pruebas basada en modelo</title><link>http://blogs.msdn.com/somaespanol/archive/2009/10/27/spec-explorer-una-herramienta-de-pruebas-basada-en-modelo.aspx</link><pubDate>Tue, 27 Oct 2009 14:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9913518</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9913518.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9913518</wfw:commentRss><description>&lt;P&gt;&lt;SPAN&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/10/26/spec-explorer-a-model-based-testing-tool.aspx"&gt;inglés original&lt;/A&gt;:&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN&gt; lunes, 26 de octubre de 2009 a las 21:15 PST por &lt;A id=ctl00___ctl00___ctl02___Entry___AuthorLink href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Que los sistemas de pruebas sean detallados, coherentes y extensibles sigue siendo uno de los mayores desafíos en la creación y mantenimiento de sistemas de software.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La herramienta Spec Explorer que ha visto hoy la luz en &lt;A href="http://msdn.microsoft.com/devlabs" mce_href="http://msdn.microsoft.com/devlabs"&gt;DevLabs&lt;/A&gt; (en inglé) combate ese problema mediante técnicas de pruebas basadas en modelo.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1paD6Bv3V6nPohVlQN1b9iN2thKrU2jhkGVyLbm53BjlbMX9owxWYGRZz030oPqt_Ce0LKDgtqJKLKRQvUHT5FtA/SpecExplorer.jpg" mce_src="http://kxacog.blu.livefilestore.com/y1paD6Bv3V6nPohVlQN1b9iN2thKrU2jhkGVyLbm53BjlbMX9owxWYGRZz030oPqt_Ce0LKDgtqJKLKRQvUHT5FtA/SpecExplorer.jpg"&gt;&lt;A href="http://kxacog.blu.livefilestore.com/y1paD6Bv3V6nPohVlQN1b9iN2thKrU2jhkGVyLbm53BjlbMX9owxWYGRZz030oPqt_Ce0LKDgtqJKLKRQvUHT5FtA/SpecExplorer.jpg" mce_href="http://kxacog.blu.livefilestore.com/y1paD6Bv3V6nPohVlQN1b9iN2thKrU2jhkGVyLbm53BjlbMX9owxWYGRZz030oPqt_Ce0LKDgtqJKLKRQvUHT5FtA/SpecExplorer.jpg "&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;¿Qué es?&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Spec Explorer es una herramienta para modelar el comportamiento de software y generarión de series de prueba de esos modelos. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Los modelos pueden ser considerados como representaciones gráficas para comprender y analizar el comportamiento esperado del sistema y comunicarlo a los demás. El tamaño del modelo se puede medir con expresiones regulares. Las series de prueba generadas se pueden ejecutar independiente en el marco de prueba de Visual Studio o de otros marcos de pruebas unitarias.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;¿Por qué utilizarlo?&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Varios proyectos de Microsoft de diferentes tamaños ya han utilizado Spec Explorer como parte de su proceso de desarrollo. Spec Explorer ha ayudado a esos equipos a crear casos de prueba más rápido, además de garantizar la previsibilidad de la cobertura de los requisitos y admitir las actualizaciones de software de administración y de ciclo de vida de los proyectos.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las características únicas de Spec Explorer hace que sea más fácil de aprender que otras herramientas de pruebas basadas en modelo. Los ingenieros con ningún conocimiento de modelado pueden crear modelos de sistemas y funciones y generar pruebas en un corto período de tiempo. Estudios sobre un proyecto a gran escala con más de 300 conjuntos de prueba han demostrado una ganancia de productividad media del 42% sobre series de prueba creadass manualmente.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hasta ahora hemos adaptado Spec Explorer en función de los comentarios de los equipos dentro de Microsoft, ahora necesitamos sus comentarios para garantizar que Spec Explore satisface las necesidades de los clientes que trabajen en proyectos variados en tamaño y tipo. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkID=166911"&gt;Descargue&lt;/A&gt; (en inglés) Spec Explore hoy y envíe sus preguntas o comentarios en el &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/specexplorer/threads" mce_href="http://social.msdn.microsoft.com/Forums/en-US/specexplorer/threads"&gt;foro&lt;/A&gt; (en inglés) y manténgase al corriente a través del &lt;A href="http://blogs.msdn.com/SpecExplorer" mce_href="http://blogs.msdn.com/SpecExplorer"&gt;blog&lt;/A&gt; (en inglés) del equipo.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9913518" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/DevLabs/default.aspx">DevLabs</category></item><item><title>Venga a conocer el nuevo MSDN</title><link>http://blogs.msdn.com/somaespanol/archive/2009/10/22/venga-a-conocer-el-nuevo-msdn.aspx</link><pubDate>Thu, 22 Oct 2009 20:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9911682</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9911682.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9911682</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/10/19/come-meet-the-new-msdn.aspx"&gt;inglés original&lt;/A&gt;: lunes 19 de octubre de 2009 a las 12:11PM PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="http://msdn.microsoft.com/es-es/default.aspx" mce_href="http://msdn.microsoft.com/es-es/default.aspx"&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pyC5KmObkZ1JSHZHen05FKbXzzUdXEe4Q0MgOc8Kz34boVNFkYqj1S2jBeTw7n1yS8CdIGhK5WjcDXE2jqaX-zw/msdn.jpg" mce_src="http://kxacog.blu.livefilestore.com/y1pyC5KmObkZ1JSHZHen05FKbXzzUdXEe4Q0MgOc8Kz34boVNFkYqj1S2jBeTw7n1yS8CdIGhK5WjcDXE2jqaX-zw/msdn.jpg"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La &lt;A href="http://msdn.microsoft.com/es-es/default.aspx" mce_href="http://msdn.microsoft.com/es-es/default.aspx"&gt;red mundial de MSDN&lt;/A&gt; reaparece con un nuevo diseño y nuevos beneficios para todos los suscriptores de MSDN.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las suscripciones a MSDN son el mejor recurso que da a los desarrolladores, equipos y organizaciones amplio acceso a herramientas y tecnologías de Microsoft para diseñar con confianza, desarrollar y probar sus soluciones de software. Junto con acceso a miles de descargas, ofrece soporte profesional y servicio de información de expertos para asegurar que los desarrolladores pueden superar sus mayores retos.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hoy en día, estamos presentando nuevos beneficios para mejorar el apoyar a los desarrolladores y para ayudarles a crecer su carrera. Todos los suscriptores de MSDN y BizSpark podrán aprovechar cursos online gratuitos en inglés. Estamos proporcionando asistencia prioritaria a todos los suscriptores a través de los foros de MSDN. También estamos presentando el acceso gratuito a la plataforma de Windows Azure para los clientes de MSDN Premium y BizSpark a partir de que esté Windows Azure esté disponible. Para iniciar a los desarrolladores en esta potente plataforma, los suscriptores recibirán 750 horas de cómputo gratuitas al mes durante 8 meses.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El nuevo diseño de la red MSDN da soporte a nuestros clientes en todo el mundo, incluidos 37 sitios internacionales. &amp;nbsp;El objetivo del nuevo diseño es mejorar la experiencia general del sitio y los centros y ayudarle a tener éxito con los productos y tecnologías de Microsoft en los que ha invertido. El nuevo sitio MSDN incluye un nuevo diseño visual, nuevas formas de interactuar con el contenido para la comunidad, y nuevos controles de Silverlight para promover de manera dinámica el contenido dinámico de la Comunidad. Esto incluye un área de actividades de la Comunidad que mostrará los temas recientes y más populares de foros, ejemplos de código y artículos técnicos. La Biblioteca de MSDN ahora tiene la capacidad de explorar dos nuevas vistas de la biblioteca: ScriptFree (que establece un alto rendimiento mediante la eliminación de secuencias de comandos y viajes al servidor) y la versión Lightwave Beta (similar a la experiencia de ayuda sin conexión de VS 2010).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Esto es sólo el comienzo de una inversión importante que estamos realizando alrededor de nuestros activos en línea para mejorar la capacidad de detección, legibilidad, coherencia y pertinencia.&lt;/P&gt;
&lt;P&gt;Los comentarios de los usuarios de MSDN son cruciales para hacer de MSDN el mejor lugar para convertir sus ideas en soluciones. Gracias a todos los que han proporcionado comentarios y recomendaciones para hacer de MSDN un lugar mejor. Esperamos escuchar sus comentarios adicionales sobre cómo mejorar MSDN en &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/msdnfeedback"&gt;el foro de comentarios&lt;/A&gt; de MSDN.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9911682" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>F# en VS2010</title><link>http://blogs.msdn.com/somaespanol/archive/2009/10/13/f-en-vs2010.aspx</link><pubDate>Tue, 13 Oct 2009 19:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9906784</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9906784.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9906784</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/10/09/f-in-vs2010.aspx"&gt;inglés original&lt;/A&gt;: viernes, 9 de octubre de 2009 a las 22:21 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Con Visual Studio nos esforzamos para dar a su organización las herramientas que le ayuden a hacer frente a una amplia gama de problemas de software con la interoperabilidad y la eficiencia que usted necesita y espera de un software basado en .NET Framework.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Así, Visual Studio 2010 es la primera versión que apoya directamente la programación funcional mediante el lenguaje de programación F#.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;F# es un lenguaje de .NET de alta producción que combina la programación funcional y la programación orientada a objetos y es ideal para el desarrollo paralelo, algorítmico y desarrollo técnico y exploratorio. F# es el resultado de una estrecha asociación entre Microsoft Research y el equipo de Visual Studio. Desde el anuncio de F# en Visual Studio 2010 hemos visto una oleada de interés y adopción del idioma. También hemos trabajado estrechamente con la comunidad de F# y los usuarios principales para asegurarnos que cumple con las necesidades de los desarrolladores de software profesionales que trabajan en estos dominios.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;F# trae muchas características nuevas a Visual Studio de 2010, abarcando todo desde escribir código con tuplas y funciones para simplificar el código, programación asincrónica libre de errores y tipos seguros para código de punto flotante. A continuación muestro algunos de los aspectos más destacados de esta adición a los idiomas de Visual Studio.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Sintaxis simple y precisa&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;F# es un lenguaje fuertemente tipado como C#, pero con una sintaxis sencilla a menudo vista en un lenguaje dinámico como Python. Esto hará sus programas ligeros, parecidos a funciones matemáticas.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; data = (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;,&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;2&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;,&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;3&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; rotations (x, y, z) = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[ (x, y, z);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;(z, x, y);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;(y, z, x) ]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; derivative f x = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; p1 = f (x - &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;0.05&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; p2 = f (x + &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;0.05&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;(p2 - p1) / &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;0.1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; f x = &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;2.0&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;*x*x - &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;6.0&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;*x + &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;3.0&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; df = derivative f&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;System.Console.WriteLine(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: maroon; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;"La derivada de&amp;nbsp;f&amp;nbsp;en x=4&amp;nbsp;es {0}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;, df &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: brown; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;4.0&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Cuando se ejecuta, se imprimirá este programa: “La derivada de&amp;nbsp;f&amp;nbsp;en x=4 es 10”&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Programación paralela y asíncrona&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;.NET Framework 4 y Visual Studio 2010 contienen grandes bibliotecas y herramientas para el fácil desarrollo de aplicación paralela. F# las complementa con características del lenguaje diseñadas para facilitar la programación paralela y asincrónica más intuitiva. Esto incluye características fundamentales del lenguaje como inmutabilidad y funciones de primera clase y modelos de programación potentes, tales como flujos de trabajo asincrónicos, que le permiten escribir código asíncrono con el mismo estilo lineal del código síncrono al que está acostumbrado.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; http url = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;async { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; req =&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;WebRequest.Create(Uri url) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let!&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; resp = req.AsyncGetResponse()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; stream = resp.GetResponseStream()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; reader = &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;new&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; StreamReader(stream)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let!&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; contents = reader.AsyncReadToEnd()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;return&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; contents }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; sites = [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: maroon; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;"&lt;A href="http://bing.com/"&gt;http://bing.com&lt;/A&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: maroon; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;"&lt;A href="http://microsoft.com/"&gt;http://microsoft.com&lt;/A&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: maroon; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;"&lt;A href="http://msdn.com/"&gt;http://msdn.com&lt;/A&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: maroon; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;"&lt;A href="http://msnbc.com/"&gt;http://msnbc.com&lt;/A&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;let&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; htmlOfSites = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Async.Parallel [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; site &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;in&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; sites &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt; http(site)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-family: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;|&amp;gt; Async.RunSynchronously&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Integrado con Visual Studio 2010 y .NET 4&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La integración de F# en Visual Studio 2010 incluye plantillas de proyecto, soporte IDE, IntelliSense e integración de la ventana de herramientas interactiva de F#. F# puede utilizarse para desarrollar aplicaciones y componentes destinados a .NET 2.0 a través de .NET 4 y Silverlight. Como un lenguaje. NET, F# puede usarse cómodamente junto con C# y Visual Basic.NET. En .NET 4, los tipos de núcleo que F# utiliza, como Tuple, Lazy y BigInteger, ahora forman parte de .NET Framework y pueden utilizarse en todos los lenguajes de .NET.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La ventana interactiva de herramientas de F# permite un estilo de desarrollo exploratorio dentro de Visual Studio. A continuación puede ver el código de fuente de F# de un script de F# abierto en el editor de Visual Studio y en la ventana interactiva de herramientas de F# donde se ejecuta el código de forma interactiva. En la parte superior derecha se encuentra el formulario y los gráficos que ha creado la secuencia de comandos.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pBnqzreZN5Si59qbDTHomEaSlfRUAgurT83Aj-ljBrOFmA-p5C17KI-5-s0oqZvUu-TmucJOWGVj7pQiBfDMlhw/FSharp.jpg" mce_src="http://kxacog.blu.livefilestore.com/y1pBnqzreZN5Si59qbDTHomEaSlfRUAgurT83Aj-ljBrOFmA-p5C17KI-5-s0oqZvUu-TmucJOWGVj7pQiBfDMlhw/FSharp.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Unidades de medida&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Una característica innovadora de F# es las unidades de medida, que permiten anotar su punto flotante del código con unidades, como por ejemplo, metros y segundos. Esto es fácil de hacer, y los errores se muestran en el desarrollo cuando el código combina unidades incorrectamente. Lo que proporciona la comprobación en tiempo de compilación del punto flotante del código exacto sin sacrificar el rendimiento.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pNeCE-bIJJ2xGjZhB-d9a5Gc-YmSE9UfCz4zBnpYvU7GbhUmsar611CNJVMQVqFWaTJIghGIL7qwjxNyiIJI8vQ/UnitsOfMeasure.jpg" mce_src="http://kxacog.blu.livefilestore.com/y1pNeCE-bIJJ2xGjZhB-d9a5Gc-YmSE9UfCz4zBnpYvU7GbhUmsar611CNJVMQVqFWaTJIghGIL7qwjxNyiIJI8vQ/UnitsOfMeasure.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Estas son, de un vistazo, algunas de las características interesantes de F#. Para obtener más información sobre F#, visite el &lt;A href="http://msdn.microsoft.com/es-es/fsharp/default.aspx"&gt;centro de desarrollo F#&lt;/A&gt; (en inglés) en MSDN.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9906784" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Haga que su aplicaciones destaquen con Windows 7</title><link>http://blogs.msdn.com/somaespanol/archive/2009/10/08/haga-que-su-aplicaciones-destaquen-con-windows-7.aspx</link><pubDate>Thu, 08 Oct 2009 22:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9905137</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9905137.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9905137</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/10/02/making-your-application-sparkle-with-windows-7.aspx"&gt;inglés original&lt;/A&gt;: viernes, 2 de octubre de 2009 a las 20:16 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El lanzamiento de Windows 7 está a la vuelta de la esquina. Tanto si prefiere desarrollo administrado o no administrado, puede aprovechar las ventajas de las características de las nuevas APIs y bibliotecas de Windows 7 para hacer destacar sus aplicaciones.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Multitoque&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Los interfaces basadas en el tacto permiten que los usuarios interactúen con aplicaciones de forma más intuitiva. Windows 7 introduce entrada táctil y manipulación de procesamiento a través de Windows Touch.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Para los desarrolladores de C++ nativos, MFC tiene ahora una interfaz táctil habilitada. MFC hará gran parte del trabajo pesado: escucha mensajes relacionados con el tacto de Windows y llama a una serie de funciones virtuales para controlarlos. Los desarrolladores solamente necesitan registrarse para la entrada de toque, definir la configuración de gesto y reemplazar estos métodos virtuales como necesarios para habilitar las entradas táctiles en su aplicación.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;WPF 4 incluye adiciones de modelo de objeto para interfaces táctiles para que los desarrolladores de código administrados puedan añadirlo fácilmente a sus aplicaciones. Las entradas de múltiples dedos se expondrán a través de eventos de entrada nuevos y existentes, mientras que se expondrán nuevos eventos de manipulación e inercia para que los desarrolladores los consuman.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Cinta&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Agregar una cinta a su aplicación puede ayudar a organizar sus menús, tareas y comandos y facilitar que sus usuarios encuentren lo que buscan de una forma más fácil. Si su aplicación está escrita en Win32, MFC o WPF, nuevos controles y APIs y le ayudarán a agregar una cinta a su aplicación.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Si escribe aplicaciones Win32, el marco de la cinta proporciona un conjunto de API para la creación de una cinta para su aplicación. Usted puede encontrar más información sobre el marco de cinta de Windows para Win32 &lt;A href="http://msdn.microsoft.com/en-us/library/dd316910(VS.85).aspx"&gt;aquí&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Visual Studio 2008 SP1 añadió soporte para crear interfaces de usuario con cinta similares a Office. Visual Studio 2010 agrega la cinta de Windows, incluyendo un diseñador de cinta de MFC para hacer la creación y edición de cintas mucho más fácil. Un formato XML para diseños de cinta persistente simplifica el desarrollo de la interfaz de usuario, eliminando la necesidad de "diseño en código".&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pZBnh9lLOHW3MkVMV4-pX4w5nS2z_Iz1kPsMRgnGXQdg1Xtanz5lE39NW92yKTyqTdKpUv42BUBZtQGgR5ypwSg/RibbonDesigner.jpg" mce_src="http://kxacog.blu.livefilestore.com/y1pZBnh9lLOHW3MkVMV4-pX4w5nS2z_Iz1kPsMRgnGXQdg1Xtanz5lE39NW92yKTyqTdKpUv42BUBZtQGgR5ypwSg/RibbonDesigner.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El nuevo control de cinta de WPF se publicará de forma independiente aproximadamente al mismo tiempo que WPF 4 a través del sitio de licencias de interfaz de usuario de Office. Usted puede encontrar instrucciones sobre la descarga de la &lt;A href="http://www.codeplex.com/wpf/Wiki/View.aspx?title=WPF%20Ribbon%20Preview"&gt;cinta de WPF (actualmente en la vista previa)&lt;/A&gt; (en inglés). La cinta de WPF contará con máscaras para Windows 7, Office y todas las cinta características estándar con las que los usuarios están familiarizados, incluyendo fichas y grupos, cambio de tamaño dinámico, barra de herramientas de acceso rápido, menú de la aplicación, fichas contextuales, sugerencias clave ¡y mucho más! La cinta permanecerá disponible de forma independiente en un ejecutable separado.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Ubicación&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Entre las características de Windows 7 está la plataforma de ubicación, que facilita la tarea de escribir aplicaciones que pueden hacer uso de la ubicación del usuario. La plataforma de ubicación abre las puertas a algunos escenarios de aplicación interesantes, especialmente en los equipos móviles. Por ejemplo, una aplicación que tenga en cuenta ubicación podría utilizar la ubicación actual para mostrar al usuario restaurantes o tiendas cercanos, y una aplicación de correo electrónico o mensajería instantánea podría etiquetar los mensajes con la ubicación del remitente.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La plataforma de ubicación ofrece una forma para que los dispositivos de ubicación, como GPS y radios WWAN, puedan integrarse con Windows e incluye una API que las aplicaciones pueden utilizar para determinar la ubicación actual del equipo. Debido a la API de ubicación expone su funcionalidad a través de interfaces COM, tanto los programadores de C++ como los de lenguaje de secuencias de comandos pueden aprovecharse de él. El SDK de Windows 7 incluye ejemplos y documentación para ayudarle a crear aplicaciones que tengan en cuenta la ubicación. Averigüe más acerca de la API de ubicación COM en &lt;A href="http://code.msdn.microsoft.com/SensorsAndLocation"&gt;MSDN&lt;/A&gt; (en inglés).&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Además de la API de ubicación COM, .NET Framework 4 incluirá APIs de ubicación integradas, lo que facilita el aprovechamiento de las capacidades de ubicación de Windows 7 para aplicaciones de .NET.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Integración de shell&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las mejoras del shell de Windows 7 facilitan a los autores de aplicaciones la forma de proporcionar una experiencia de usuario más rica e integrada. Las listas de salto proporcionan acceso a las tareas de inicio contextuales y a archivos disponibles para las aplicaciones. Por ejemplo, hacer clic con el botón secundario en el icono de Outlook mostrará los mensajes de correo que ha abierto recientemente en la lista de salto siguiente:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pxj6hvMEsDJZpSeQvJBAKQ8EjoLLppNJiClUPvFUEVMsJmVhsGdqA4OuWkRvw1i6TIxzksidHxM_A8589tqesAg/JumpLists.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1pxj6hvMEsDJZpSeQvJBAKQ8EjoLLppNJiClUPvFUEVMsJmVhsGdqA4OuWkRvw1i6TIxzksidHxM_A8589tqesAg/JumpLists.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La nueva barra de tareas aparece menos congestionada y puede transmitir más información en un vistazo. Ahora le permiten fijar cualquier programa a la barra de tareas o reorganizar los iconos en la barra de tareas haciendo clic y arrastrando. Las miniaturas aero, que aparecen cuando se coloca sobre un icono en la barra de tareas, admiten personalización de vista y comandos de usuario. A continuación puede ver una miniatura Aero que admite comandos para controlar la reproducción multimedia.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pd7ypLKWTWrXixxlksqIY8eeu9_D2bNH30mC1hVzhBKRU1do3yk3SQCvrW3EFArleL_YMBiXZglkb_UHZaL0Fjw/UserControls.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1pd7ypLKWTWrXixxlksqIY8eeu9_D2bNH30mC1hVzhBKRU1do3yk3SQCvrW3EFArleL_YMBiXZglkb_UHZaL0Fjw/UserControls.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;MFC agrega soporte para las nuevas características de shell de Windows 7. Por defecto, agregará a la lista de saltos de archivos recientes los archivos abiertos por una aplicación MFC a través del cuadro de diálogo "Abrir". Si desea cambiar el comportamiento predeterminado, MFC también proporciona APIs que le permiten personalizar el contenido de la lista de salto de su aplicación. MFC también ha añadido soporte para alta resolución y muchas de las nuevas características de diálogo de Windows. A continuación, el cuadro de diálogo Abrir archivo se ha personalizado con controles adicionales:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pzcAjTYs-8gl3_Vqvm6ZHHmQg00YaLjtNazxK4Y480Rg-HmKY8ztK8QglQMcJiSaqU_SI7hmTHA7kDj_7KVpWDg/OpenFile.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1pzcAjTYs-8gl3_Vqvm6ZHHmQg00YaLjtNazxK4Y480Rg-HmKY8ztK8QglQMcJiSaqU_SI7hmTHA7kDj_7KVpWDg/OpenFile.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Agregar apoyo en MFC para la búsqueda, pre visualización y miniaturas fue una elección obvia. Ahora puede buscar los documentos MFC en campo de búsqueda del explorador y ver los iconos y vistas previas igual que en las aplicaciones de Office.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://kxacog.blu.livefilestore.com/y1pK-7bcHfUoAfWNEfan9bvr8_ZLeTV_daJtP9ozg6vnn6GM0Z_SXM04wjYvlp87avDSiT_4JyniUuMtcX4aoTDvg/Search.jpg" mce_src="http://kxacog.Blu.livefilestore.com/y1pK-7bcHfUoAfWNEfan9bvr8_ZLeTV_daJtP9ozg6vnn6GM0Z_SXM04wjYvlp87avDSiT_4JyniUuMtcX4aoTDvg/Search.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Si el instalador de su aplicación necesita acceder o actualizar archivos que puede estar bloqueado o en uso, el administrador de reinicio puede manejar el apagado y reinicio de aplicaciones, o eliminar o reducir el número de reinicios de sistema necesarios para una instalación. Con unas pocas líneas de código, obtendrá pleno apoyo de administrador de reinicio con copia de seguridad programada automática de documentos abiertos. MFC ha agregado también soporte para el sistema de archivos transaccional en ATL.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Estas nuevas características de MFC estarán disponibles en Visual Studio 2010. Para aprovechar las ventajas de algunas de estas características (como las listas de salto), sólo necesita recompilar para obtener la experiencia de usuario actualizada, mientras que para otros (como el soporte de Windows Touch o administrador de reinicio) tendrá que añadir unas pocas líneas de código nuevo para incorporar la nueva funcionalidad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;WPF 4 le permite utilizar las nuevas funciones de shell de Windows 7 también en las aplicaciones de WPF. WPF 4 integra la funcionalidad de la lista de salto de Windows 7, incluyendo tareas, elementos, recientes y frecuentes listas y categorías personalizadas. La integración de la barra de tareas de Windows 7 en WPF 4 incluye barras de progreso, superposición de iconos, botones de miniaturas con apoyo de comando, texto de la descripción y recorte en miniatura de administrador de ventanas de escritorio (DWM).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Más información&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Esto es sólo una introducción sobre cómo puede generar grandes aplicaciones de Windows 7. Para obtener más información, visite el &lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://windowsteamblog.com/blogs/developers/default.aspx"&gt;Blog del equipo de Windows&lt;/A&gt; (en inglés) y la &lt;A href="http://code.msdn.microsoft.com/Win7DeveloperGuide"&gt;Guía de desarrollo de Windows 7 (Windows 7 Developer Guide)&lt;/A&gt; (en inglés).&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9905137" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Paseando por el laberinto de la memoria...</title><link>http://blogs.msdn.com/somaespanol/archive/2009/09/30/paseando-por-el-laberinto-de-la-memoria.aspx</link><pubDate>Wed, 30 Sep 2009 19:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9901388</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9901388.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9901388</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/09/29/walking-down-memory-lane.aspx"&gt;inglés original&lt;/A&gt;: martes, 29 de septiembre a las 17:56 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A veces, nos encontramos atrapados en lo que estamos haciendo en el momento, el día a día, los plazos inminentes, etc. De vez en cuando, es bueno dar un paso atrás y reflexionar sobre el viaje: el porqué, el qué, el cómo y el dónde.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hace poco tuve dicha oportunidad cuando recibí una llamada para hacer un vídeo documental sobre Visual Studio. No estaba seguro de qué esperar o lo que iba a ser el producto final, pero teniendo en cuenta mi experiencia con Channel 9, decidí hacerlo. Fue divertido.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El equipo completó recientemente este proyecto y hoy se ha publicado el documental de Visual Studio: &lt;A href="http://channel9.msdn.com/shows/VisualStudioDocumentary/The-Visual-Studio-Documentary-Part-One/"&gt;parte 1&lt;/A&gt; (en inglés) y &lt;A href="http://channel9.msdn.com/shows/VisualStudioDocumentary/The-Visual-Studio-Documentary-Part-Two/"&gt;parte 2&lt;/A&gt; (en inglés) en Channel 9.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Me ha parecido especialmente interesante escuchar a algunos de mis colegas tales como Anders Heljsberg, Dave Mendlen, Jason Zander y Scott Guthrie. Todos han formado parte de esta línea de productos durante mucho tiempo. Esperamos que le guste el documental.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9901388" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio+Team+System/default.aspx">Visual Studio Team System</category></item><item><title>Mejoras de VB y C# en VS 2010</title><link>http://blogs.msdn.com/somaespanol/archive/2009/08/20/mejoras-de-vb-y-c-en-vs-2010.aspx</link><pubDate>Thu, 20 Aug 2009 20:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9877282</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9877282.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9877282</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/08/19/vb-and-c-enhancements-in-vs-2010.aspx" mce_href="http://blogs.msdn.com/somasegar/archive/2009/08/19/vb-and-c-enhancements-in-vs-2010.aspx"&gt;inglés original&lt;/A&gt;: miércoles, 19 de agosto a las 22:54 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644" mce_href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La elección de un lenguaje de programación es una elección personal que cada programador tiene que hacer. Es similar a elegir el sabor de un helado: hay muy buenas elecciones por ahí pero su sabor favorito es una cuestión de preferencias personales.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;En Visual Studio 2010 hemos realizado varias mejoras a nuestros dos lenguajes más populares, Visual Basic y C#, para dar a los programadores todas las herramientas necesarias para construir gran software independientemente del lenguaje que elijan.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Visual Basic&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El equipo de Visual Basic se ha centrado en agregar características de productividad en el lenguaje para que los programadores puedan hacer más con menos líneas de código. La petición más común de nuestros clientes de Visual Basic ha sido la de quitar el carácter de subrayado ("_") que divide una instrucción de código en varias líneas. Visual Basic 10 presenta la continuación de línea implícita, que elimina la necesidad del carácter de subrayado en la mayoría de los casos.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 80%; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Function &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;Filter(&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 80%; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ByVal &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;customers&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt; As List&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;(&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;Of &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;Customer),&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 80%; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ByVal &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;orderCount&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt; As Integer&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: 80%; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: Consolas; COLOR: black; FONT-SIZE: 9.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 80%; FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Dim&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;query =&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;From&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;c&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;In&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;customers&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Where&lt;/SPAN&gt;&lt;FONT color=#000000&gt; c.Orders.Count &amp;gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT color=#000000&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&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; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;orderCount&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#000000&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Select&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;c &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Otra característica nueva de productividad es las propiedades implementadas automáticamente. Con las propiedades implementadas automáticamente, se pueden reemplazar las líneas repetitivas del código de implementación de la propiedad, con declaraciones de una sola línea. Hasta ahora, las declaraciones de propiedad a menudo tenían este aspecto:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Private&lt;/SPAN&gt; _FavoriteFlavor &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt; = &lt;SPAN style="COLOR: #a31515"&gt;"Butter Pecan"&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Property&lt;/SPAN&gt; FavoriteFlavor() &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Get&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Return&lt;/SPAN&gt; _FavoriteFlavor&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Get&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Set&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; value &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;_FavoriteFlavor = value&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Set&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Property&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Private&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; _FlavorList &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; List(&lt;SPAN style="COLOR: blue"&gt;Of&lt;/SPAN&gt; Flavor) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Property&lt;/SPAN&gt; FlavorList() &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; List(&lt;SPAN style="COLOR: blue"&gt;Of&lt;/SPAN&gt; Flavor)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Get&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Return&lt;/SPAN&gt; _FlavorList&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Get&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Set&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; value &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;_FlavorList = value&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Set&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Property&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Ahora las declaraciones de propiedad se pueden declarar de una manera mucho más sencilla:&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Property&lt;/SPAN&gt; FavoriteFlavor &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt; = &lt;SPAN style="COLOR: #a31515"&gt;"Butter Pecan"&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Property&lt;/SPAN&gt; FlavorList &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; List(&lt;SPAN style="COLOR: blue"&gt;Of&lt;/SPAN&gt; Flavor) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Los inicializadores de colección y literales de matriz son también más simples. Ahora se pueden inicializar colecciones cuando se están declarando y el tipo de literales de matriz lo infiere el compilador.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; toppings = &lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;List&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;Of&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt;) &lt;SPAN style="COLOR: blue"&gt;From&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;"sprinkles"&lt;/SPAN&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;"chocolate chips"&lt;/SPAN&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;"strawberries"&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; cones = {&lt;SPAN style="COLOR: #a31515"&gt;"sugar cone"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"waffle cone"&lt;/SPAN&gt;} &lt;SPAN style="COLOR: green"&gt;'the type String() is inferred&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Visual Basic 10.0 ahora tiene mejor soporte para funciones lambdas. Las funciones lambdas ahora pueden contener expresiones que no devuelvan un valor, como la palabra clave Sub indica a continuación:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Array&lt;/SPAN&gt;.ForEach(toppings, &lt;SPAN style="COLOR: blue"&gt;Sub&lt;/SPAN&gt;(n) &lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(n))&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;A veces, le gustaría poder hacer algo más complejo dentro de una declaración lambda. Visual Basic 10.0 admite lambdas multilínea. El compilador infiere el parámetro y devuelve los tipos donde sea posible al igual que en lambdas regulares.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; doubleDown = &lt;SPAN style="COLOR: blue"&gt;Function&lt;/SPAN&gt;(n &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;String&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;If&lt;/SPAN&gt; n.StartsWith(&lt;SPAN style="COLOR: #a31515"&gt;"s"&lt;/SPAN&gt;) &lt;SPAN style="COLOR: blue"&gt;Then&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&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; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;"extra "&lt;/SPAN&gt; &amp;amp; n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Else&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&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; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Return&lt;/SPAN&gt; n&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End If&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Function&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;La interoperación con código de lenguaje dinámico como Python y Ruby se ha vuelto más sencilla en Visual Basic 10.0. Por ejemplo, el fragmento de código siguiente llama a un método definido en una biblioteca de Python "math.py":&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; mathLib &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Object&lt;/SPAN&gt; = python.UseFile(&lt;SPAN style="COLOR: #a31515"&gt;"math.py"&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; firstNumber = 44.2&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; secondNumber = 9.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;mathLib.PowerOf(firstNumber, secondNumber)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;C#&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las principales mejoras de C# 4.0 son la interoperabilidad con paradigmas de programación dinámica y la mejora de la programación en Office. La búsqueda dinámica, una nueva característica de C# 4.0, le permite utilizar y manipular un objeto desde IronPython, IronRuby, JScript, HTML DOM o una biblioteca estándar de .NET de la misma manera, independientemente de donde proceda. &lt;/SPAN&gt;Otras mejoras del lenguaje como nombre y parámetros opcionales y compatibilidad mejorada para los clientes COM proporcionan a los programadores de C# que trabajan con la API de Office, la misma gran experiencia que han disfrutado los desarrolladores de Visual Basic.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Agregar la nueva palabra clave dinámica a su código le permite que su tipo se resuelva dinámicamente en tiempo de ejecución, en lugar de forma estática en tiempo de compilación. Esto le permite que los lenguajes dinámicos expongan sus objetos a C# de manera natural para un programador de C#:&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;dynamic&lt;/SPAN&gt; dynamicObject = GetDynamicObjectFromRuby();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dynamicObject.Foo(7);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dynamicObject.Property = &lt;SPAN style="COLOR: #a31515"&gt;"Property value"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dynamicObject[0] = &lt;SPAN style="COLOR: #a31515"&gt;"Indexed value"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Los parámetros del método opcional son familiares para los programadores de Visual Basic y C++ y ahora están disponibles para los programadores de C#. Los parámetros opcionales se declaran con un valor predeterminado en la firma de método, tal y como sigue:&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; CreateNewStudent(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; name, &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; currentCredits = 0, &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; year = 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;El método anterior puede llamarse de cualquiera de las maneras siguientes:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CreateNewStudent(&lt;SPAN style="COLOR: #a31515"&gt;"Chloe"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CreateNewStudent(&lt;SPAN style="COLOR: #a31515"&gt;"Zoe"&lt;/SPAN&gt;, 16);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CreateNewStudent(&lt;SPAN style="COLOR: #a31515"&gt;"Joey"&lt;/SPAN&gt;, 40, 2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Para omitir el valor del parámetro currentCredits pero especificar el parámetro de año, se puede utilizar la nueva característica de argumentos con nombre (resaltada). Todas las condiciones siguientes son también llamadas válidas:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CreateNewStudent(&lt;SPAN style="COLOR: #a31515"&gt;"Jill"&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;year:&lt;/SPAN&gt; 2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CreateNewStudent(&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;name:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;"Bill"&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;currentCredits:&lt;/SPAN&gt; 30, &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;year:&lt;/SPAN&gt; 2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CreateNewStudent(&lt;SPAN style="COLOR: #a31515"&gt;"Will"&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;currentCredits:&lt;/SPAN&gt; 4);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN&gt;Los argumentos con nombre también son una excelente forma de escribir llamadas autoexplicativas a los métodos existentes, incluso si no utilizan parámetros opcionales.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Obtenga más información&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Conozca más acerca de las mejoras de los lenguajes de Visual Studio 2010 y descargue ejemplos en el &lt;A href="http://code.msdn.microsoft.com/vbfuture" mce_href="http://code.msdn.microsoft.com/vbfuture"&gt;sitio del futuro de VB&lt;/A&gt; (en inglés) y en el &lt;A href="http://code.msdn.microsoft.com/csharpfuture" mce_href="http://code.msdn.microsoft.com/csharpfuture"&gt;sitio del futuro de C#&lt;/A&gt; (en inglés). Para jugar con las nuevas características, &lt;A href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" mce_href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;descargue&lt;/A&gt; (en inglés) e instale Visual Studio Beta 1 y &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/categories" mce_href="http://social.msdn.microsoft.com/Forums/en-US/categories"&gt;únase a la conversación&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9877282" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Depuración, generación de perfiles y análisis de aplicaciones paralelas</title><link>http://blogs.msdn.com/somaespanol/archive/2009/08/17/depuraci-n-generaci-n-de-perfiles-y-an-lisis-de-aplicaciones-paralelas.aspx</link><pubDate>Mon, 17 Aug 2009 19:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9872492</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9872492.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9872492</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/08/07/debugging-profiling-and-analyzing-parallel-applications.aspx"&gt;inglés original&lt;/A&gt;: viernes, 7 de agosto de 2009 a las 11:46 PM PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Cuando se introduce un modelo de programación, los desarrolladores necesitan soporte de herramientas sólidas para aprenderlo, escribir, depurar y optimizar su código para hacer uso de él. Esto es especialmente cierto para la programación paralela, que agrega un conjunto de nuevas variables a la ecuación.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Visual Studio 2010 ha realizado grandes progresos en la experiencia de depuración paralela. Muchas características también están disponibles como complementos para Visual Studio 2008. Aquí tiene un breve paseo por la programación paralela, su depuración y las características de diagnóstico disponibles en Visual Studio 2008 y en Visual Studio 2010.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Depuración&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Aunque Visual Studio 2005 tenía un depurador integrado simple para programas MPI, no se proporcionó una completa experiencia “F5”. El &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d3993532-bdf8-4024-b164-db2ee8a851f5"&gt;nuevo complemento de de Visual Studio 2008&lt;/A&gt; (en inglés), que también está integrado en Visual Studio 2010, permite seleccionar un nodo principal del clúster, cuántos núcleos desea, y presionar F5 para depurar el programa MPI.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0ebx5a.blu.livefilestore.com/y1pSNskIHTfrl6nGz1yd6M6w_RBur-HjIVp5KL00WPysM_FcBsFYWMVzQBTqpRYxJ1etXHavAGNaUriC2KinikRpQ/DebuggerSmall.jpg" mce_src="http://0ebx5a.Blu.livefilestore.com/y1pSNskIHTfrl6nGz1yd6M6w_RBur-HjIVp5KL00WPysM_FcBsFYWMVzQBTqpRYxJ1etXHavAGNaUriC2KinikRpQ/DebuggerSmall.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Junto con el gran trabajo que ha realizado el equipo del depurador, Allinea, líder en tecnologías de depuración paralela, ha adaptado su entorno a Visual Studio. &lt;A href="http://www.allinea.com/?page=86"&gt;El complemento Allinea&lt;/A&gt; (en inglés) permite la depuración de MPI específicas aún más eficaz, incluido el rango basado en cambio de contexto, paso group-wise, pausa y ejecución, vista de la pila de ejecución paralela y laminación. A continuación puede ver el entorno de depuración de MPI ’s Allinea:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0ebx5a.blu.livefilestore.com/y1pjLLjpgQUcIlDONSc7kQS3RwXgiiP-rFUpKpj8rA3PgSNNfZOyBVaYyhpqM71DRsmy59ah33xAMY6l3cN8pRiNg/AllineaSmall.jpg" mce_src="http://0ebx5a.Blu.livefilestore.com/y1pjLLjpgQUcIlDONSc7kQS3RwXgiiP-rFUpKpj8rA3PgSNNfZOyBVaYyhpqM71DRsmy59ah33xAMY6l3cN8pRiNg/AllineaSmall.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Depuración de Arquitectura orientada a servicios (Service Oriented Architecture - SOA)&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Uno de los nuevos modelos de programación introducidos en Windows HPC Server 2008 fue SOA en clúster, basada en WCF con la programación avanzada y equilibrio de carga proporcionado por el scheduler/broker de HPC. Hasta ahora, la depuración de SOA en clúster estaba limitada al estilo de depuración básico de WCF y .NET sin integración de clúster. En Visual Studio. 2010, un complemento para clústeres SOA activa la ficha Configuración de SOA, lo que permite elegir un nodo principal, nodos de depuración y servicios, implementar las bibliotecas de tiempo de ejecución y limpieza automática. Aquí se puede ver el nuevo depurador SOA en Visual Studio 2010:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0ebx5a.blu.livefilestore.com/y1pJbbd9zpyLRxhW-V2ejZqsNMn7YnjwFpF9wEhCHahoKHQo2E9jtRiiDz8SZL7RooIZKKV2i69--YixGOcgbRGXw/SOASettingsSmall.jpg" mce_src="http://0ebx5a.Blu.livefilestore.com/y1pJbbd9zpyLRxhW-V2ejZqsNMn7YnjwFpF9wEhCHahoKHQo2E9jtRiiDz8SZL7RooIZKKV2i69--YixGOcgbRGXw/SOASettingsSmall.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Generación de perfiles&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Los perfiles integrados compatibles con MPI no estaban disponibles en Windows Server HPC 1.0. Con Windows HPC Server 2008, herramientas como XPerf han habilitado perfiles de MPI, así como generación de perfiles y solución de problemas a nivel de sistema. Pero incluso XPerf no sabía mucho sobre los detalles del tráfico de mensajes MPI y no existían visores de tráfico de mensajes. Desde entonces, &lt;A href="http://www.vampir.eu/download/index.html"&gt;Vampir&lt;/A&gt; (en inglés), el Visor de tráfico de mensajes MPI principal, se ha trasladado a Windows y está totalmente integrado con ETW. Vampir permite solucionar problemas de orden de mensaje y retrasos. Diversas herramientas HPC de código abierto están disponibles, como &lt;A href="http://www.mcs.anl.gov/research/projects/perfvis/download/index.htm"&gt;JumpShot&lt;/A&gt; (en inglés), un visor gratuito de mensaje MPI basado en Java.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A menudo, el generador de perfiles integrado en VS puede ofrecer una perspectiva de los problemas de rendimiento. En Visual Studio. 2010, esta capacidad se ha integrado completamente con el programador de trabajo HPC para ayudar a analizar el comportamiento de un rango o nodo determinado de MPI. El Analizador de Visual Studio MPI muestra información de perfil a nivel de línea, incluida una vista de temperatura de ejecución, side-by-side con vista de origen:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0ebx5a.blu.livefilestore.com/y1pwTb_4h08Zb--QOjU3IdWgJKn3uH8Ylw_lSPb9deB4mnetV3wIiZCMrjrNa02K9Fa4vnfB05db_J8ANIW35mEUg/ComputeSmall.jpg" mce_src="http://0ebx5a.Blu.livefilestore.com/y1pwTb_4h08Zb--QOjU3IdWgJKn3uH8Ylw_lSPb9deB4mnetV3wIiZCMrjrNa02K9Fa4vnfB05db_J8ANIW35mEUg/ComputeSmall.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El generador de perfiles también muestra un informe comparativo entre varias ejecuciones para que pueda ver fácilmente el efecto de sus cambios.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0ebx5a.blu.livefilestore.com/y1pvFd_VcEZ2OpTGTx76NY82OqNn5O6wq5Ex9JkQ7bNTf6ngkWlSxMbyYd-M6KofNEkX87XIMQkym0Ca-iWxvarWg/ComputeReportSmall.jpg" mce_src="http://0ebx5a.Blu.livefilestore.com/y1pvFd_VcEZ2OpTGTx76NY82OqNn5O6wq5Ex9JkQ7bNTf6ngkWlSxMbyYd-M6KofNEkX87XIMQkym0Ca-iWxvarWg/ComputeReportSmall.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Análisis del tiempo de ejecución MPI&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A veces más allá de los depuradores y generadores de perfiles, necesita herramientas de análisis especializado para ayudarle con las complejidades de programas paralelos de gran escala. HLRS/ZIH en Stuttgart, un instituto líder en Alemania, ha trasladado &lt;A href="http://www.hlrs.de/organization/av/amt/research/marmot/"&gt;Marmot&lt;/A&gt; (en inglés), su herramienta de análisis MPI dedicado, a Visual Studio 2008. Marmot puede utilizarse para comprobar la validez de parámetros pasados a llamadas MPI y detectar interbloqueos y administración incorrecta de los recursos. A continuación puede ver Marmot en acción:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0ebx5a.blu.livefilestore.com/y1p1jJ_X6V5YqzwWNSzMKDx-IlMDexkGJl80I0xjHomJjjK-5Enh0zy0qK9EDNOaWhebYYT-SY7Sjj_FRHq3IJmNg/MarmotSmall.jpg" mce_src="http://0ebx5a.Blu.livefilestore.com/y1p1jJ_X6V5YqzwWNSzMKDx-IlMDexkGJl80I0xjHomJjjK-5Enh0zy0qK9EDNOaWhebYYT-SY7Sjj_FRHq3IJmNg/MarmotSmall.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;De Printf a creación de perfiles integrados y depuración&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;En un mundo donde depuración estilo printf era lo normal no hace mucho tiempo, lo último en herramientas de depuración y generación de perfiles han dado un paso importante hacia delante.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;En Visual Studio, puede depurar y generar perfiles para código nativo así como aplicaciones de MPI y SOA de clúster de alto rendimiento que escalan desde cientos a miles de núcleos. Para obtener una vista realmente holística de la aplicación en el contexto de todo el sistema se pueden utilizar XPerf y ETW. También puede utilizar eficazmente las nuevas herramientas de generación de perfiles y depuración de varios núcleos que se han introducido en Visual Studio 2010 en un clúster de nivel de nodo.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Visual Studio se está convirtiendo en un entorno enriquecido y productivo para escribir programas paralelos de todo tipos. Para obtener más información acerca de modelos de programación de HPC de Windows, visite el &lt;A href="http://www.microsoft.com/hpc/dev"&gt;Centro de recursos de desarrolladores de Windows HPC Server&lt;/A&gt; (en inglés). Puede encontrar un conjunto de ejemplos que utilizan distintos modelos de programación paralelas en el sitio de CodePlex &lt;A href="http://paralleldwarfs.codeplex.com/"&gt;Parallel Dwarfs&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9872492" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>De cero a una aplicación web completa en minutos</title><link>http://blogs.msdn.com/somaespanol/archive/2009/08/04/de-cero-a-una-aplicaci-n-web-completa-en-minutos.aspx</link><pubDate>Wed, 05 Aug 2009 04:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9857570</guid><dc:creator>SomaEsp</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9857570.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9857570</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/07/31/from-zero-to-a-complete-web-application-in-minutes.aspx"&gt;inglés original&lt;/A&gt;: viernes, 31 de julio de 2009 a las 23:51:00 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Generar una aplicación web desde el principio puede parecer una tarea desalentadora. Usted puede tener una idea de lo que desea que su sitio web haga, pero decidir cuál puede ser la mejor tecnología para construir su aplicación, encontrar ejemplos de código reutilizables y diseñar la navegación y apariencia del sitio puede llevar mucho tiempo y trabajo.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La &lt;A href="http://www.microsoft.com/web/gallery/"&gt;Galería de aplicación web de Windows&lt;/A&gt; (en inglés) está diseñada para ayudarle a empezar a crear y ejecutar rápidamente una aplicación web personalizable y así se puede centrar en generar el código que sólo usted puede escribir.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La galería de aplicación web es una colección de las aplicaciones web más populares, como DotNetNuke, Umbraco, ResourceBlender.NET y mojoPortal, todo gratis y listo para su descarga e instalación mediante el instalador de plataforma web (Web Platform Installer). La galería de aplicación web contiene aplicaciones ASP.NET y PHP y la plataforma para la aplicación que elija se instala automáticamente con su aplicación. La mayoría de las aplicaciones de la galería de aplicación web son de código abierto. La galería de aplicación web ha tenido más de 500.000 descargas en cuatro meses desde que se creó.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vamos a echar un vistazo a cómo funciona la galería de aplicación web. Para empezar, vamos a ver la galería de aplicación web.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0eby5a.blu.livefilestore.com/y1pWU7PWsx7B946FBZDad2hBRU4Yo1GWhzfIyWxhDtlHsxwS_iXIdrYynoidKTLMFZpKBI2AwgbG6U3XC2Ci3fz_Q/AppGallery.jpg" mce_src="http://0eby5a.blu.livefilestore.com/y1pWU7PWsx7B946FBZDad2hBRU4Yo1GWhzfIyWxhDtlHsxwS_iXIdrYynoidKTLMFZpKBI2AwgbG6U3XC2Ci3fz_Q/AppGallery.jpg"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Puede buscar aplicaciones basadas en popularidad, clasificación de usuario o por categorías, como administración de contenido, blogs o comercio electrónico. Si crea un sitio web para un club o empresa, por ejemplo, es conveniente una aplicación de administración de contenido, como Umbraco.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Cuando haga clic en el botón "Install" (Instalar) junto a la aplicación que elija, se inicia el instalador de plataforma web (Web PI). Web PI es una herramienta que permite instalar fácilmente tanto la plataforma web de Microsoft, así como cualquiera de las aplicaciones web en la galería y las dependencias adicionales que la aplicación web elegida requiere. En la galería de aplicación web, la primera pantalla que se muestra durante la instalación de Umbraco es una página que proporciona más información sobre Umbraco.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0eby5a.blu.livefilestore.com/y1pqtNgloX2B-WIClxXKWFZW_TjOLdoZrLU3TnQTcrQkDlbLGfxr2C-HQS06vAZ5qeHoHIoRUhHwLUt4onwfN4IVA/WebPI.jpg" mce_src="http://0eby5a.blu.livefilestore.com/y1pqtNgloX2B-WIClxXKWFZW_TjOLdoZrLU3TnQTcrQkDlbLGfxr2C-HQS06vAZ5qeHoHIoRUhHwLUt4onwfN4IVA/WebPI.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;En este momento, puede hacer clic en cualquiera de las fichas de la izquierda para instalar más productos de la plataforma Web de Microsoft, o inmediatamente puede empezar la instalación de Umbraco. Si necesita sólo Umbraco, elija "Install" (Instalar).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 768px; HEIGHT: 568px" src="http://0eby5a.blu.livefilestore.com/y1pqtNgloX2B-WIClxXKWFZW_TjOLdoZrLU3TnQTcrQkDlbLGfxr2C-HQS06vAZ5qeHoHIoRUhHwLUt4onwfN4IVA/WebPI.jpg" width=768 height=568 mce_src="http://0eby5a.blu.livefilestore.com/y1pqtNgloX2B-WIClxXKWFZW_TjOLdoZrLU3TnQTcrQkDlbLGfxr2C-HQS06vAZ5qeHoHIoRUhHwLUt4onwfN4IVA/WebPI.jpg"&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Inmediatamente se le mostrarán los términos de licencia para los productos que esté instalando, así como los demás productos que va a instalar. Web PI incluye todos los productos que necesita la aplicación para ejecutarse. Esto puede significar configurar los componentes IIS adecuados, descargar ASP.NET e instalar SQL Server Express. No tiene que preocuparse de nada más que de la aplicación que desea instalar. Una vez elija "Acept" (Aceptar), Umbraco y todas las dependencias se descargan e instalar para usted.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A continuación, introduzca dónde desea instalar Umbraco, así como otra información básica que Umbraco necesita.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0eby5a.blu.livefilestore.com/y1pBOrMqt9I5wA4GfHxfq3GHJm9Ak54fxSpUDZp9vpLIbfqVRfPYs89JFdFiJoO2QujDOVAreX7B5t9xdPkBgkvEA/WebPIInstall.jpg" mce_src="http://0eby5a.blu.livefilestore.com/y1pBOrMqt9I5wA4GfHxfq3GHJm9Ak54fxSpUDZp9vpLIbfqVRfPYs89JFdFiJoO2QujDOVAreX7B5t9xdPkBgkvEA/WebPIInstall.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Ya ha terminado y está listo para empezar a utilizar la aplicación Web.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Inicie Umbraco utilizando el vínculo de la pantalla instalación, vaya a través de unos pasos de configuración y ya está listo para iniciar la configuración de la nueva aplicación web.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0eby5a.blu.livefilestore.com/y1pLBDRWLUFfP6KgqACgpctStsCQ0WgMBBSRTGSg3gqruy78t7IywTUB3GVEbQLDkUS2bnJLujvpxT_u9iZCP7R5A/UmbracoSettings.jpg" mce_src="http://0eby5a.blu.livefilestore.com/y1pLBDRWLUFfP6KgqACgpctStsCQ0WgMBBSRTGSg3gqruy78t7IywTUB3GVEbQLDkUS2bnJLujvpxT_u9iZCP7R5A/UmbracoSettings.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Cuando haya empleado la aplicación web, puede clasificarla y revisarla en la galería de aplicación web, o puede enviar su propia aplicación web a la galería de aplicación web siempre que cumpla los &lt;A href="http://learn.iis.net/page.aspx/605/windows-web-application-gallery-principles/"&gt;principios de galería de aplicación web&lt;/A&gt;. Siempre se están agregando aplicaciones a la galería de aplicación web, así que asegúrese de consultarla regularmente.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9857570" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category></item><item><title>STM.NET en DevLabs</title><link>http://blogs.msdn.com/somaespanol/archive/2009/07/28/stm-net-en-devlabs.aspx</link><pubDate>Wed, 29 Jul 2009 03:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9851536</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9851536.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9851536</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/07/27/stm-net-in-devlabs.aspx"&gt;inglés original&lt;/A&gt;: lunes, 27 de julio de 2009 a las 14:20 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hoy hemos hecho disponible STM.NET en &lt;A href="http://msdn.microsoft.com/devlabs"&gt;MSDN DevLabs&lt;/A&gt; (en inglés). STM.NET es una versión experimental mejorada de .NET Framework 4 Beta 1, que permite memoria transaccional de software para programadores de C#.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Memoria transaccional es una tecnología que libera a los desarrolladores de preocuparse por los mecanismos de bloqueo específicos y la sincronización en aplicaciones multiproceso proporcionando la semántica transaccional para leer y escribir en memoria. Permite a los desarrolladores centrarse en lógica de aplicación en lugar de los detalles de entrada/salida de la memoria al crear programas multinúcleo y varios núcleos.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Creación de transacciones&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;STM.NET facilita la tarea declarar una región de código como atómica. Simplemente escriba una función o una expresión lambda que contiene el código desea usar en la transacción y pasar al delegado Atomic.Do&lt;I&gt;.&lt;/I&gt; Igual que el código SQL en una transacción de base de datos, este bloque de código se ejecutará aislado de otros bloques de transacción y o finaliza correctamente o deshará la transacción completa si hay un error, todo sin la necesidad que bloquear nada explícitamente.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;¿Cómo funciona?&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El compilador just-in-time de .NET Framework vuelve a escribir el código de un bloque atómico para utilizar memoria transaccional. Como resultado, una cantidad significativa de código .NET funciona sin cambios, incluido el código que utiliza bloqueos. STM.NET también proporciona integración con System.Transactions, por lo que puede coordinar las operaciones atómicas de memoria con administradores de recursos transaccionales existente como MSMQ.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Uno de los mejores aspectos de STM.NET es su integración con herramientas de Visual Studio. STM.NET funciona con el depurador de Visual Studio 2008 para permitirle ver los valores de transacción de las variables que aparecen mientras se ejecuta dentro del delegado Atomic.Do así como sus valores tal y como aparecen fuera.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;STM.NET está &lt;A title="Download STM.NET" href="http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx"&gt;disponible para descarga&lt;/A&gt; (en inglés) hoy. Comparta sus ideas y experiencias en el &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/stmdevlab/threads"&gt;foro del proyecto&lt;/A&gt; (en inglés) y lea acerca de STM.NET en el &lt;A href="http://blogs.msdn.com/stmteam/"&gt;blog del equipo de STM.NET&lt;/A&gt;. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9851536" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category></item><item><title>Silverlight 3</title><link>http://blogs.msdn.com/somaespanol/archive/2009/07/24/silverlight-3.aspx</link><pubDate>Fri, 24 Jul 2009 19:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9847700</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9847700.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9847700</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/07/11/silverlight-3.aspxhttp:/blogs.msdn.com/somasegar/archive/2009/07/11/silverlight-3.aspx"&gt;inglés original&lt;/A&gt;: sábado, 12 de julio de 2009 a las 10:50 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Ayer anuncié la &lt;A href="http://www.seethelight.com/"&gt;disponibilidad&lt;/A&gt; (en inglés) de Silverlight 3 y el candidato de versión comercial de Expression Blend.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Algunas de las nuevas características y mejoras de Silverlight 3 incluyen compatibilidad para ejecutar aplicaciones de Silverlight fuera del explorador, reproducción de multimedia H.264/AAC/MP4, soporte técnico GPU, API de píxeles que incluyen sombreadores de píxeles, perspectiva 3D, mensajería local entre aplicaciones de Silverlight, un marco de objeto de negocio mejorado, soporte SEO y mejor calidad de texto. En combinación con la continua innovación en Visual Studio y Expression Blend, Silverlight 3 permite a los desarrolladores de .NET crear aplicaciones de Internet enriquecidas de vanguardia y experiencias en medios.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hoy quiero cubrir algunas de estas características en algo más de profundidad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Perspectiva 3D&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La compatibilidad de perspectiva 3D en Silverlight permite a los programadores utilizar elementos 2D para crear una experiencia de 3D. La perspectiva 3D también es ideal para utilizar mejor el espacio en pantalla. Examinemos una aplicación de imagen sencilla para demostrar cómo se puede utilizar la perspectiva 3D para mejorar tanto la apariencia como la utilización de la pantalla. En lugar de mostrar sólo una imagen a la vez, tenemos que mostrar una imagen principal en resolución completa y un par más a ambos lados en una vista en perspectiva.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Para dar a la imagen una proyección 3D, establezca la propiedad Projection de la imagen en un PlaneProjection. PlaneProjection expone un conjunto de propiedades que permiten que se trate el elemento como si fuera un espacio tridimensional. Establezca la propiedad RotationY a 70 para girar el objeto 70 grados a lo largo del eje Y o eje vertical. Esto tiene el efecto de hacer que el elemento aparezca como si lo hubiera girado casi perpendicular a la pantalla. A continuación, movemos el elemento hacia atrás y a la derecha para dejar espacio para otras imágenes. Para ello, establecemos las propiedades GlobalOffsetX y GlobalOffsetZ.La entrada de datos y los eventos funcionan como se esperaba en el elemento de perspectiva 3D, por lo que una perspectiva 3D DataGrid o TextBox mantiene toda su funcionalidad cuando se le aplica una transformación de perspectiva 3D. Para terminar la aplicación, vamos a agregar las otras 4 imágenes y aplicar transformaciones de perspectiva ligeramente diferentes. Las imágenes de la izquierda y de la derecha tienen un GlobalOffsetX diferente para moverlas a la izquierda o a la derecha.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; x&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;:&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;Class&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="P3DSample.MainPage"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;&amp;nbsp;xmlns&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml/presentation" mce_href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/FONT&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;"&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;&amp;nbsp;xmlns&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;:&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;x&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml" mce_href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/FONT&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; x&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;:&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="LayoutRoot"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Background&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Black"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image01.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-300"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image02.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-225"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image03.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="300"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image04.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="225"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image00.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None" /&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserControl&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Aquí está el resultado final:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG style="WIDTH: 550px; HEIGHT: 420px" src="http://0ebs5a.blu.livefilestore.com/y1pwxmAw5RGeb9xhC4QB0gYOOs2BuuoYfkB6os5ZE6Kaue3P-yF-cO3KMFavQpqCQPdL5W2zM1KZbgFx0eDOkjm6w/Page1.jpg" width=550 height=420 mce_src="http://0ebs5a.blu.livefilestore.com/y1pwxmAw5RGeb9xhC4QB0gYOOs2BuuoYfkB6os5ZE6Kaue3P-yF-cO3KMFavQpqCQPdL5W2zM1KZbgFx0eDOkjm6w/Page1.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Mejoras de conexión de datos&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Los enlaces de ElementName permiten a los programadores enlazar un UIElement a otro en XAML en lugar de tener que escribir controladores de eventos. En Silverlight 3, existe una propiedad nueva denominada ElementName en la clase Binding. Cuando se establece ElementName, el motor de enlace utiliza el elemento especificado como origen para este enlace. La propiedad Path hace referencia a una propiedad en el origen UIElement para enlazarlo. Si ElementName señala a un DependencyProperty, el motor de enlace escucha los cambios de DependencyProperty y actualiza el enlace en consecuencia.&lt;I&gt; &lt;/I&gt;Este es un segmento XAML que muestra un Slider que controla la opacidad de nuestra imagen del centro mediante el enlace de ElementName:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; x&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;:&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="LayoutRoot"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Background&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Black"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid.RowDefinitions&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;RowDefinition&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;RowDefinition&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Height&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="50"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid.RowDefinitions&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image01.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None" &amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-300"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image02.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-225"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image03.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="300"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image04.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;PlaneProjection&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RotationY&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="70"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetX&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="225"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; GlobalOffsetZ&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="-100"/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image.Projection&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Image&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Source&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="Image00.jpg"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Stretch&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="None"&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt; &lt;/FONT&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;Opacity&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;&lt;FONT color=#0000ff&gt;="{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; COLOR: #a31515; mso-highlight: yellow"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; COLOR: red; mso-highlight: yellow"&gt; ElementName&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;&lt;FONT color=#0000ff&gt;=slider,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; COLOR: red; mso-highlight: yellow"&gt; Path&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;=Value}"&lt;/SPAN&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt; /&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT face="Courier New"&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Slider&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt; &lt;/FONT&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;x&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;&lt;FONT color=#0000ff&gt;:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; COLOR: red; mso-highlight: yellow"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;&lt;FONT color=#0000ff&gt;="slider"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;SPAN style="COLOR: red"&gt; Grid.Row&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="1"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Width&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="200"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Maximum&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="1"&lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt; Minimum&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="0" /&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;El XAML anterior muestra la interfaz de usuario siguiente. Mover el control deslizante cambia la opacidad de la imagen de Blue Dragon de transparente a completamente opaca:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 550px; HEIGHT: 420px" src="http://0ebs5a.blu.livefilestore.com/y1pLgFYu77sWEIZIaQ2zh7MUvP-APcsTqZbXkcp-hKJj3o9QbOap-xYQjHOZkYanDEAlSHyR0W-zYzKHd96o8dphg/Install.jpg" width=550 height=420 mce_src="http://0ebs5a.blu.livefilestore.com/y1pLgFYu77sWEIZIaQ2zh7MUvP-APcsTqZbXkcp-hKJj3o9QbOap-xYQjHOZkYanDEAlSHyR0W-zYzKHd96o8dphg/Install.jpg"&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Soporte fuera del explorador&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;La compatibilidad fuera del explorador en Silverlight 3 permite a los desarrolladores crear aplicaciones de Silverlight que se pueden ejecutar dentro y fuera del explorador. Para habilitar nuestra aplicación para que se ejecute fuera del explorador, edite el archivo de la aplicación AppManifest.xml. En Visual Studio, este archivo se encuentra bajo el nodo Propiedades en el Explorador de soluciones. En AppManifest.xml, agregue lo siguiente:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Deployment&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;xmlns&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="http://schemas.microsoft.com/client/2007/deployment"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;xmlns:x&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="http://schemas.microsoft.com/winfx/2006/xaml" &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Deployment.Parts&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Deployment.Parts&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;o:p&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1" color=#0000ff face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Deployment.OutOfBrowserSettings&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;ShortName&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="My Silverlight Application"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;OutOfBrowserSettings&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;OutOfBrowserSettings.WindowSettings&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;WindowSettings&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: red"&gt;Title&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;="My Silverlight Application" /&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;OutOfBrowserSettings.WindowSettings&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;OutOfBrowserSettings.Blurb&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;Description of my app&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;OutOfBrowserSettings.Blurb&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;OutOfBrowserSettings&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Deployment.OutOfBrowserSettings&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; BACKGROUND: #eeece1" class=Code&gt;&lt;FONT style="BACKGROUND-COLOR: #eeece1"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;&amp;lt;/&lt;/FONT&gt;&lt;SPAN style="COLOR: #a31515"&gt;Deployment&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;Cuando ejecute la aplicación, observará una adición al menú contextual que lee "instalar la aplicación de Silverlight en el equipo… ". En la siguiente imagen, puede ver el menú contextual en la esquina inferior izquierda:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG style="WIDTH: 550px; HEIGHT: 420px" src="http://0ebs5a.blu.livefilestore.com/y1pLgFYu77sWEIZIaQ2zh7MUvP-APcsTqZbXkcp-hKJj3o9QbOap-xYQjHOZkYanDEAlSHyR0W-zYzKHd96o8dphg/Install.jpg" width=550 height=420 mce_src="http://0ebs5a.blu.livefilestore.com/y1pLgFYu77sWEIZIaQ2zh7MUvP-APcsTqZbXkcp-hKJj3o9QbOap-xYQjHOZkYanDEAlSHyR0W-zYzKHd96o8dphg/Install.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Cuando haga clic en este elemento de menú, obtendrá una opción para instalar esta aplicación en el equipo. La aplicación fuera del explorador tendrá este aspecto:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG style="WIDTH: 550px; HEIGHT: 420px" src="http://0ebs5a.blu.livefilestore.com/y1pdKBvtwRaNegf7HLZPwF3S2fbPim1jpytx1200kKBW1EyfWWexs2wayARnZB2HHrGbvfBf7VDjiZpeSRuxdO5qw/WindowApp.jpg" width=550 height=420 mce_src="http://0ebs5a.blu.livefilestore.com/y1pdKBvtwRaNegf7HLZPwF3S2fbPim1jpytx1200kKBW1EyfWWexs2wayARnZB2HHrGbvfBf7VDjiZpeSRuxdO5qw/WindowApp.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Ahora puede cerrar la versión de la aplicación que utiliza el explorador y utilizar la versión fuera del explorador. Si abre el menú Inicio, encontrará un acceso directo para iniciar la aplicación en Inicio-&amp;gt;Programas. Puede iniciar la aplicación incluso cuando no está conectado a una red.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Estos son sólo algunas de las nuevas características de Silverlight 3.Puede encontrar más información &lt;A href="http://silverlight.net/getstarted/silverlight3/default.aspx"&gt;aquí&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9847700" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Expression/default.aspx">Expression</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>¡Lanzamiento de Silverlight 3 y Expression 3!</title><link>http://blogs.msdn.com/somaespanol/archive/2009/07/20/lanzamiento-de-silverlight-3-y-expression-3.aspx</link><pubDate>Mon, 20 Jul 2009 20:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9841954</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9841954.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9841954</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;&lt;SPAN&gt;Publicación del &lt;A href="http://blogs.msdn.com/somasegar/archive/2009/07/10/launching-silverlight-3-and-expression-studio-3.aspx"&gt;inglés original&lt;/A&gt;: viernes, 10 de julio de 2009 a las 11:45 PST por &lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;Somasegar&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/silverlight/default.aspx?lang=es-es" target=_blank mce_href="http://www.microsoft.com/silverlight/default.aspx?lang=es-es"&gt;&lt;IMG style="WIDTH: 274px; HEIGHT: 115px" src="http://0ebr5a.blu.livefilestore.com/y1prIElRWcpubk9HiYX0ZDa217LJy0eXCDBBHufdbSuBvWD3LKA449RW9fWA2IbjV27ukwf8bKqUx-uncMbRsbrUQ/Silverlight%20Logo%20Small.jpg" width=274 height=115 mce_src="http://0ebr5a.blu.livefilestore.com/y1prIElRWcpubk9HiYX0ZDa217LJy0eXCDBBHufdbSuBvWD3LKA449RW9fWA2IbjV27ukwf8bKqUx-uncMbRsbrUQ/Silverlight%20Logo%20Small.jpg"&gt;&lt;/A&gt;&lt;A href="http://www.microsoft.com/spain/expression/" target=_blank mce_href="http://www.microsoft.com/spain/expression/"&gt;&lt;IMG style="WIDTH: 277px; HEIGHT: 113px" src="http://0ebr5a.blu.livefilestore.com/y1pa1wyhejy7ut144SV81CLBhazXfiQGcW-bJRAqj9_PdfjOzLCPVYwXHc6i7fr83dnwha_KsR4TVVypc_Vwq55Uw/Expression%20Logo%20Small.jpg" width=277 height=113 mce_src="http://0ebr5a.blu.livefilestore.com/y1pa1wyhejy7ut144SV81CLBhazXfiQGcW-bJRAqj9_PdfjOzLCPVYwXHc6i7fr83dnwha_KsR4TVVypc_Vwq55Uw/Expression%20Logo%20Small.jpg"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Me alegra anunciar la disponibilidad a partir de hoy de Silverlight 3 y&amp;nbsp;el candidato a versión comercial de Expression Blend 3 y SketchFlow. Además, la familia completa de productos de Expression 3 estará disponible dentro de treinta días.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Con la versión 3, Silverlight ofrece una serie de características para la innovación y beneficios en áreas clave de aplicaciones completas de internet, incluidas:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;Compatibilidad con vídeo de alta definición.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Línea mejorada de soporte técnico empresarial, como validación de datos y enlace de datos elemento a elemento.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Sombreadores de píxeles para control de representación más profundo.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Más de 90 controles y temas, con el código de origen y las pruebas unitarias para muchos de ellos, dentro del kit de herramientas de Silverlight (Silverlight Toolkit).&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;Anteriormente, ya escribí acerca de &lt;A href="http://blogs.msdn.com/somaespanol/archive/2009/04/30/prototipos-con-sketchflow.aspx"&gt;SketchFlow&lt;/A&gt;. SketchFlow ha generado un debate en el mundo del diseño, cambiando las ideas acerca de los procedimientos establecidos y herramientas ya que permite un único flujo de trabajo de prototipo para producción y convierte bocetos en demostraciones de cliente, prototipos y aplicaciones terminadas.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Nuestra lista de clientes sigue creciendo: recientemente, Silverlight ayudó a poner disponibles los torneos de tenis de Roland Garros y Wimbledon de 2009 en todo el mundo. Los próximos Juegos Olímpicos de invierno de 2010 ofrecerán una vez más sucesos detallados con una cobertura en vídeo de alta definición. Continental Airlines utiliza Silverlight para mejorar su servicio al cliente. MGM utiliza Deep Zoom para generar &lt;A href="http://stargate.mgm.com/"&gt;el sitio oficial de Stargate&lt;/A&gt; (en inglés), que permite a los admiradores a entrar en el sitio de producción de televisión más detallado hasta ahora.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Y hoy NBC Sports anunció que utilizarán Silverlight como su tecnología predominante para entregar el vídeo de alta definición en línea a través de sus concesiones de deportes.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Para experimentar el lanzamiento, vaya a &lt;A href="http://www.seethelight.com/"&gt;seethelight.com&lt;/A&gt; (en inglés) y manténgase informado de los últimos desarrollos de Silverlight en &lt;A href="http://www.microsoft.com/silverlight/default.aspx?lang=es-es"&gt;www.microsoft.com/silverlight&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;El sitio recientemente rediseñado de la &lt;A href="http://expression.microsoft.com/es-es/default.aspx"&gt;comunidad de Expression&lt;/A&gt; (en inglés) tiene más información de Expression 3 y le permite conectar con la comunidad y obtener más información acerca de Expression:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG src="http://0ebr5a.blu.livefilestore.com/y1p1ANUdz8_HJUyQcjghGLqhmc_gRuoVOR_aP15QcB7TFYg7Ftc1MvQFtgH5rRb9h29pJQOPAB1Sw-nmw4vohuuug/ExpressionCommunitySiteSmall.jpg" mce_src="http://0ebr5a.blu.livefilestore.com/y1p1ANUdz8_HJUyQcjghGLqhmc_gRuoVOR_aP15QcB7TFYg7Ftc1MvQFtgH5rRb9h29pJQOPAB1Sw-nmw4vohuuug/ExpressionCommunitySiteSmall.jpg"&gt;&lt;A href="http://0ebr5a.blu.livefilestore.com/y1p1ANUdz8_HJUyQcjghGLqhmc_gRuoVOR_aP15QcB7TFYg7Ftc1MvQFtgH5rRb9h29pJQOPAB1Sw-nmw4vohuuug/ExpressionCommunitySiteSmall.jpg"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9841954" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Expression/default.aspx">Expression</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Microsoft BizSpark: Ayudando a más de 15.000 compañías de nueva creación</title><link>http://blogs.msdn.com/somaespanol/archive/2009/06/20/microsoft-bizspark-ayudando-a-m-s-de-15-000-compa-as-de-nueva-creaci-n.aspx</link><pubDate>Sun, 21 Jun 2009 08:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9794630</guid><dc:creator>SomaEsp</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/somaespanol/comments/9794630.aspx</comments><wfw:commentRss>http://blogs.msdn.com/somaespanol/commentrss.aspx?PostID=9794630</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;EM&gt;Publicación del &lt;/EM&gt;&lt;A href="http://blogs.msdn.com/somasegar/archive/2009/06/19/microsoft-bizspark-serving-15-000-startups-and-counting.aspx"&gt;&lt;EM&gt;inglés original&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;: viernes, 19 de junio de 2009 a las 23:15 PST por &lt;/EM&gt;&lt;A href="http://blogs.msdn.com/user/Profile.aspx?UserID=3644"&gt;&lt;EM&gt;Somasegar&lt;/EM&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hace ocho meses, Microsoft anunció la disponibilidad de Microsoft BizSpark, un programa que ayuda a compañías de nueva creación proporcionando software de Microsoft, soporte y visibilidad sin ningún gasto inicial.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hoy me complace anunciar que más de 15.000 compañías de nueva creación se han unido a BizSpark hasta la fecha.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las compañías que participan reciben plataformas y herramientas de desarrollo de Microsoft íntegras, como por ejemplo, Windows Server, SQL Server, Visual Studio y Expression Studio. Disponible en 99 países, BizSpark no requiere exclusividad y muchas empresas de código abierto independientes están aprovechando BizSpark para probar la interoperabilidad de sus aplicaciones o aumentar el número de plataformas de cliente que pueden alcanzar.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Las 15.000 compañías que participan son innovadoras en áreas como redes sociales, servicios de software, asistencia sanitaria, educación, movilidad, entretenimiento y finanzas. Estas compañías tienen éxito creando en plataformas de Windows e incluyan nombres, como: &lt;A href="http://www.zocdoc.com/"&gt;ZocDoc&lt;/A&gt; (en inglés), &lt;A href="http://tweeba.com/"&gt;Tweba&lt;/A&gt; (en inglés), &lt;A href="http://www.squareclock.com/"&gt;SquareClock&lt;/A&gt; (en inglés), &lt;A href="http://www.eduify.com/"&gt;Eduify&lt;/A&gt; (en inglés), &lt;A href="http://stackoverflow.com/"&gt;StackOverflow&lt;/A&gt; (en inglés), &lt;A href="http://www.sobees.com/"&gt;Sobees&lt;/A&gt; (en inglés), &lt;A href="http://www.mixedinkey.com/"&gt;MixedInKey&lt;/A&gt; (en inglés), &lt;A href="http://www.develomatic.com/"&gt;Develomatic&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A continuación describimos algunas de las compañías innovadoras que recientemente se han unido a BizSpark.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG style="WIDTH: 292px; HEIGHT: 69px" src="http://0ebt5a.blu.livefilestore.com/y1p7GxBwLMjvapfnwZ5M9FkjGjDiJEV6nf5fBiSP-b3mM7OS774erYBfZwfMPi-SYiTer3WSSExWxzzbvbhKu6dSw/AftermouseLogo.png" width=292 height=69 mce_src="http://0ebt5a.blu.livefilestore.com/y1p7GxBwLMjvapfnwZ5M9FkjGjDiJEV6nf5fBiSP-b3mM7OS774erYBfZwfMPi-SYiTer3WSSExWxzzbvbhKu6dSw/AftermouseLogo.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Después de ver Microsoft Surface en diciembre de 2008, Nicolas Chaillan se inspiró para crear &lt;A href="http://www.after-mouse.com/"&gt;after-mouse&lt;/A&gt; (en inglés) para la generación de experiencias de usuario táctil personalizada para Windows 7 y Surface. After-mouse usa WPF y Silverlight para generar experiencias enriquecidas con interfaces multi tacto para agencias de viajes, minoristas, agencias inmobiliarias en Europa entre otros. La producción de licencias de BizSpark permite a after-mouse crear soluciones con la tecnología de Microsoft.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;En la figura siguiente, una aplicación de un bar y restaurante de after'mouse que permite a los invitados realizar sus pedidos directamente desde su mesa.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG style="WIDTH: 650px; HEIGHT: 350px" src="http://0ebt5a.blu.livefilestore.com/y1p3C0JcV7fJzEDUyFbRaAzI9cchMNV8oPMpf50UKqbhwKJVA8SgAYV-92BjqfD1yfZ07eigPHKsdM9Nn4bUBW_ag/aftermouseRestaurantOrder.jpg" width=650 height=350 mce_src="http://0ebt5a.blu.livefilestore.com/y1p3C0JcV7fJzEDUyFbRaAzI9cchMNV8oPMpf50UKqbhwKJVA8SgAYV-92BjqfD1yfZ07eigPHKsdM9Nn4bUBW_ag/aftermouseRestaurantOrder.jpg"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;IMG style="WIDTH: 235px; HEIGHT: 80px" src="http://0ebt5a.blu.livefilestore.com/y1pAhrbISqcCmBeVfkhci1BeMjTxK7frGZmbOaRGEPJJcKZnioFibSH2LIBWpNsAXwcAR4tDH0dqBARqeTf4zqpKw/CurseLogo.png" width=235 height=80 mce_src="http://0ebt5a.blu.livefilestore.com/y1pAhrbISqcCmBeVfkhci1BeMjTxK7frGZmbOaRGEPJJcKZnioFibSH2LIBWpNsAXwcAR4tDH0dqBARqeTf4zqpKw/CurseLogo.png"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Establecida en Silicon Valley, &lt;A href="http://www.curse.com/"&gt;Curse&lt;/A&gt; (en inglés) es un portal para los juegos en línea de varios jugadores (MMO). El sitio proporciona foros, wikis, revisiones, descargas, blogs, vídeos y otros recursos para jugadores MMO. Curse se centra en contenido generado por el jugador y permite a los jugadores crear sus propias páginas. Curse incluye portales de juegos para World of WarCraft, StarCraft y Age of Conan.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Curse ahora tiene un total de 1,4 millones de usuarios y está creciendo rápidamente. Su sitio web tiene tres servidores web de IIS 7 y una sola base de datos servidor que ejecuta SQL Server 2008. El cliente de escritorio de Curse recibe datos de un servicio web de .NET escrito en C# que se ejecuta en sólo dos servidores web de IIS 7. En propias palabras del presidente de Curse, "Atribuyo gran parte de nuestro éxito en el rendimiento y estabilidad de la tecnología de Microsoft y la productividad que ofrece mediante herramientas de desarrollo de Microsoft. Continuaremos usando exclusivamente la tecnología de Microsoft. La generación de la próxima versión del cliente de Curse está en desarrollo y se está generando en Windows Presentation Foundation, y con un servicio de alojamiento integrado en ASP.NET MVC."&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="http://www.lokad.com/"&gt;Lokad&lt;/A&gt; (en inglés), una empresa de nueva creación francesa de 5 personas creada en 2007, proporciona previsiones de negocio en línea y estadísticas a los clientes de minoristas, fabricación y sectores de centro de llamada. Envíe a Lokad sus datos históricos, tales como ventas, flujos de dinero, volúmenes de llamada y petición de cliente y se le envían previsiones. El equipo de matemáticos en Lokad permite a las empresas comerciales a sacar partido de las previsiones de última generación empresarial operativas con una inversión mínima. La aplicación web de Lokad está escrita para .NET 3.5 y hace uso de LINQ para interactuar con datos de SQL Server. Además, Lokad fue uno de las primeras empresas independientes en utilizar servicios de Windows Azure en su entorno de producción.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Es interesante ver el tipo de trabajo innovador que estas compañías hacen mediante las herramientas y plataformas de Microsoft.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Para obtener más información o unirse a BizSpark, visite &lt;A href="http://www.microsoftstartupzone.com/bizspark"&gt;BizSpark en Startup Zone&lt;/A&gt; (en inglés).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;¡Namaste!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9794630" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Developer+Division/default.aspx">Developer Division</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Expression/default.aspx">Expression</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/somaespanol/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item></channel></rss>