
La verdad es que tenía pendiente escribir un post sobre este tema desde hace al menos 8 meses. Pero he sido reticente a hacerlo sobre todo por la opinión -seguramente controvertida- que tengo al respecto, y no me apetecía nada hacerlo. Sin embargo en las últimas semanas he recibido bastantes correos de gente preguntándome por ello, y me veo ya casi en la "obligación" de escribirlo. así que allá voy. Nota: Antes de seguir leyendo, si tienes interés en entender bien el trasfondo de todo lo que comento a continuación, asegúrate de haber leído antes mi post sobre las certificaciones de Visual Studio 2010, de hace justo 2 años. Ello te ayudará a saber en qué situación estamos y hacia donde vamos en este tema. Por otro lado en este post solamente trataré y valoraré las certificaciones para desarrolladores, no así las de sistemas ni las de acceso a datos (que también tienen lo suyo) que sólo las mencionaré de pasada. El nuevo modelo de certificaciones de Microsoft En Octubre pasa...
[Más]
Tags: Certificaciones, Visual Studio, Windows 8
356bd6b1-c20b-42dd-8c5d-48f88cb71afb|1|5.0

Aparte de para las labores habituales de todo desarrollador (o sea, escribir código, jeje), Visual Studio es también una estupenda herramienta para procesar archivos, sobre todo cuando necesitas hacer cambios masivos en contenidos mediante buscar y reemplazar. Como te permite abrir muchos archivos y luego buscar cadenas sobre ellos usando expresiones regulares, puedes hacer cambios más o menos complejos con relativa facilidad. Sin embargo la sintaxis de expresiones regulares que admite difiere en bastantes cosas de la sintaxis habitual en la mayoría de los lenguajes de programación, como C#/.NET o JavaScript, por ejemplo. Para expresiones regulares básicas es igual y no tendrás problemas, pero hay otras cuestiones que, de entrada, resultarán más complejas porque cambia la sintaxis. Por ejemplo, imagina que tienes que cambiar todas las etiquetas <ul> dentro de varios archivos HTML por etiquetas <ol>, para convertir todas las listas en listas ordenadas. Abrirías el ...
[Más]
Tags: Visual Studio
17163022-52a5-4422-bf51-852fcaccd563|2|4.5

Desde hoy por la mañana está disponible para descarga el Service Pack 1 de Visual Studio 2010. Trae algunas novedades (nada que ver con el SP1 de VS2008 que fue realmente un cambio gigantesco) y corrige decenas de bugs.
Una de las novedades que trae respecto a desarrollo Web es la posibilidad de utilizar el recientemente aparecido IIS 7.5 Express para probar los desarrollos. IIS Express es una versión reducida del servidor de aplicaciones Web de Microsoft y nos proporciona una experiencia mucho más real a la hora de probar las aplicaciones, frente al habitual "Cassini" (o Web Development Server, como se le llama oficialmente). IIS Express contiene el motor de IIS y funciona exactamente igual que éste, por lo que te resultará muy fácil probar las configuraciones reales en él o, incluso, distribuirlo con tus propias aplicaciones en un momento dado. Lo puedes descargar desde aquí o instalarlo desde el Web Platform Installer. Sólo tiene versión de 32 bits, pero funcionará perfectamente en...
[Más]
Tags: ASP.NET, Visual Studio
c51181b6-e484-4cdc-9594-573a834e46ea|0|.0

Yo no programo demasiado para Windows Forms, ya sabéis que lo mío es más la Web. Pero últimamente estoy trabajando a los ratos en un proyecto que tienen una parte de visualización para escritorio hecha con esta tecnología. Como soy partidario de reutilizar al máximo, siempre encapsulo la funcionalidad todo lo que puedo, incluyendo funcionalidad de la interfaz de usuario. Por eso en este trabajo, tengo varios controles de usuario listos para arrastrar y soltar en cualquier formulario que los requiera.
El caso es que tras haber trasteado bastante con la interfaz, de repente algunos formularios me empezaron a fallar, mostrándome un error como el de la figura (yo trabajo con todo en inglés, incluidos los nombres de clases y variables):
(la parte difusa lleva el nombre del control que no se carga y su espacio de nombres)
A pesar de que en el código del diseñador del formulario todo parecía estar bien y se reconoce el tipo del control y a pesar de que si ejecutas la aplicación...
[Más]
Tags: Visual Studio, Windows Forms
0e40ab4f-3852-4079-b487-28cd06f2f673|0|.0

La caché de ASP.NET es una maravilla. Permite almacenar en memoria (o en otra ubicación, ya que es extensible) datos costosos de obtener y que no caduquen de inmediato. De esta forma las siguientes veces que debamos utilizarlos en la misma aplicación podremos obtenerlos desde la caché sin necesidad de volver a calcularlos o generarlos. Además la caché de ASP.NET ofrece un montón de características avanzadas que van más allá del simple almacenamiento. Por ejemplo podemos establecer caducidades de la información tanto en un determinado momento en el futuro, si no se utiliza tras un periodo, haciendo que unas informaciones dependan del valor de otras o creando dependencias de ciertos elementos externos (como un archivo, una consulta en la base de datos o una clave del registro).
Esto último es de especial interés, pues nos brinda la posibilidad de hacer cosas bastante complicadas sin apenas código. Por ejemplo, si nuestra aplicación depende de la información almacenada en un archivo en e...
[Más]
Tags: ASP.NET, Visual Studio, Windows Forms
ac99fdb3-9f97-4be6-9f70-64eb498ec138|0|.0

De este tema ya había hablado en una ocasión en este blog (o más bien en su blog gemelo), y lo cierto es que levantó bastante polémica.
Cuando hablo con alguna gente acerca de las novedades de Visual Studio 2010 y sale lo de las mejoras para la programación en paralelo, mucha gente lo ve como una mera anécdota, algo que no va con ellos en absoluto. Si bien es cierto que muchas aplicaciones que se hacen, como las de gestión por ejemplo, no suelen tener que sacarle partido, no es menos cierto que en muchas circunstancias nuestras aplicaciones deben poder sacarle el máximo rendimiento al hardware del que disponemos.
Desde hace unos años lo más habitual en cualquier ordenador corriente es que disponga de un procesador con al menos dos núcleos. En servidores o máquinas destinadas a tareas más demandantes es muy frecuente que haya varios procesadores con al menos cuatro núcleos. La tendencia es que cada vez haya más núcleos en los procesadores, ya no sólo por rendimiento sino por las venta...
[Más]
Tags: Programación, Visual Studio
f17471ce-79f5-489d-9820-e97122ddd471|1|4.0

.NET 4.0 dispone de soporte para tiempo de ejecución de lenguajes dinámicos, el DLR (Dynamic Language Runtime). El propósito del DLR es permitir que los lenguajes de tipo dinámico -como PHP, JavaScript, Ruby, Python, Lisp o Groovy, por citar unos cuantos- puedan ejecutarse en la plataforma y además interactuar con código escrito en un lenguaje .NET -como C# o VB.
El DLR introduce en el framework una serie de clases dinámicas de comportamiento dinámico que ayudan mucho a la hora de interactuar con estos lenguajes o acceder a COM, pero que abren la puerta a crear monstruos de código si son mal utilizados. De hecho gurús de la plataforma como mi buen amigo Octavio Hernández, reniegan de esta característica ;-)
Lo cierto es que en general yo no recomendaría el uso de las clases dinámicas, pero sí que pueden llegar a ser útiles en algunas ocasiones. Por ello en este artículo voy a presentar la más útil y fácil de usar de todas, la clase ExpandoObject.
Añadiendo miembros dinámicament...
[Más]
Tags: Programación, Visual Studio
6bf32068-fea8-43b6-a803-1877f6d725f9|2|5.0

Hoy he sabido, directamente a través de la gente de producto de Microsoft, que han realizado unos cuantos cambios de cierto calado a la parte de soporte para dispositivos móviles en ASP.NET 4.0. Estos cambios se verán cuando salga la versión definitiva pero ahora no están disponibles en la Beta de Visual Studio 2010.
1.- Han convertido en obsoletas todas las clases de System.Web.Mobile, es decir, todo el soporte de controles móviles para WAP que existían en versiones anteriores de ASP.NET. Con obsoletas no quiero decir que dejen de funcionar o de soportarse, simplemente que han sido marcadas con el atributo Obsolete y que generarán una advertencia cuando compiles apliaciones que las usen. Así que ojo si usas el compilador con la opción de que las advertencias se traten como errores, porque no te compilarán. Simplemente ahora no se recomienda su uso.
2.- Han modificado sustancialmente los archivos de definición de navegadores (archivos .browser) tanto para HttpBrowserCapabilities...
[Más]
Tags: ASP.NET, Visual Studio
5a12b1bd-bff5-4b3d-9b84-6a54b9e38cfd|0|.0

Hoy me he estado volviendo loco con Visual Studio 2008 SP1. Resulta que necesitaba hacer capturas de pantalla de la barra de propiedades, para lo cual la desacoplaba dellateral, donde la suelo tener, y hacía la captura. Luego la volvía a poner la barra en su sitio.
Bien, nada más hacer eso, si se me ocurría ejecutar la aplicación con F5: ¡crassss! cuelgue miserable de Visual Studio y el ordenador medio colgado (casi no me dejaba sacar ni el administrador de tareas para matarlo) :-((
Al principio no lo asocié a lo de desacoplar la ventana pero luego me di cuenta de que era claramente por eso. Así qeu buscando, buscando llegué a este artículo de la Knowledge Base de Microsoft.
Resulta que hay un bug en el Service Pack 1 de Visual Studio que puede hacer que cuando desacoplas ventanas y las vuelves a coplar algo vaya mal y se te cuelgue el entorno (y de paso casi el sistema).
Desde el enlace anterior te puedes bajar el parche que te proporcionan "por el buen rollito" pero del cual no s...
[Más]
Tags: Visual Studio
ad49d2fa-d9f3-41b7-b504-dc56c4e7a601|0|.0

Soy fan de esos pequeños detalles de calidad que muchas veces pasan inadvertidos pero que, una vez descubiertos, no puedes vivir sin ellos.
En este caso me gustaría hablar de una nueva característica del depurador de Visual Studio 2010 que me resulta muy útil y que echo de menos cuando tengo que volver a versiones anteriores: las inspecciones/watches flotantes.
Quizá no lo hayas notado, pero cuando te colocas encima de una variable o de una expresión cualquiera en el código mientras estás depurando, en la habitual ventanita flotante que te permite inspeccionar las variables y los objetos verás una especie de cuadrito amarillo a la derecha,como en la figura siguiente (por cierto, depurando JavaScript, o sea que funciona con todos los lenguajes):
Si lo pulsas verás que la ventana flotante se convierte en el típico Post-it que se queda visible de forma permanente, y puedes arrastrar a donde queiras. De este modo puedes tener tus objetos de interés siempre visibles, de manera muc...
[Más]
Tags: Programación, Visual Studio
65dc425b-7d62-493b-9e5c-910d3cf66923|0|.0

Last week, we at Krasis Press launched what we believe is the first book fully dedicated to ADO.NET Entity Framework published worldwide, in any language: "ADO.NET Entity Framework: Data centric applications and services" (in Spanish).
And what a book! Honestly, I firmly believe we have produced an excellent resource, created by three experts that have been working with this technology since the very first betas, and using it in real life projects for many months: Unai Zorrilla, Octavio Hernandez and Eduardo Quintas.
Unai and Octavio (Microsoft MVPs) are already well known to audiences for their frequent articles in publications, and for being the authors of the books "Modeling business processes with Workflow Foundation" and "C# 3.0 and LINQ", both published by Krasis in October, 2007 (in Spanish).
The book consists of six chapters plus five appendixes, which cover in depth most of the features of the Entity Framework:
The book begins with a chapter introducing the technol...
[Más]
Tags: Noticias Programación, Visual Studio
3d920fcc-54b2-419e-a7af-477297620856|0|.0

La semana pasada hemos lanzado desde Krasis Press el primer libro que se publica en el mundo, en cualquier lengua, sobre la nueva y esperada tecnología de acceso a datos de Microsoft: Entity Framework.
¡Y qué libro! La verdad es que ha quedado una obra alucinante, escrita por tres cracks de este tema que llevan trabajando con las betas de esta tecnología, y en proyectos reales, desde hace muchos meses. Unai Zorrilla, Octavio Hernández y Eduardo Quintás.
A Unai y a Octavio ya los conocéis porque aparte de ser conocidos articulistas y MVP, son autores de la casa y autores de los libros "Modelando procesos de negocio con Workflow foundation" y "C# 3.0 y LINQ" respectivamente.
Los primeros libros sobre el tema en inglés saldrán para finales de año o principios del que viene.
La obra consta de seis capítulos más cinco apéndices, que cubren ampliamente la gran mayoría de las características de Entity Framework: • El libro comienza con un capítulo de introducción a la te...
[Más]
Tags: Noticias Programación, Visual Studio
ab0b439e-d9ec-484f-9541-2df180a469b5|0|.0

Como ya habréis visto anunciado en muchos sitios, desde hoy está disponible el Serive Pack 1 de Visual Studio 2008, que incluye muchas nvedades.
Las principales a destacar son las siguientes:
Plataforma .NET
Mejoras de rendimiento de entre el 25 y el 40% en aplicaciones WPF. Y sin tener que cambiar ni una sola línea de código.
Nuevos sistemas de acceso a datos: Entity Framework y Data Services, así como soporte para las nuevas características de SQL Server 2008.
Algunas mejoras en WCF.
Visual Studio 2008:
Soporte para SQL Server 2008 (salido la semana pasada)
Mejores diseñadores de WPF.
Diseñadores para acceso a datos con Entity Framework.
Mejoras en Team Foundation Server relacionadas con el control de versiones, control de items de trabajo y migración desde Source Safe entre otras. Cabe destacar una gran mejora de rendimiento en servidores de TFS con gran cantidad de proyectos, tanto en el servidor como en el cliente.
En cuanto a lo que a mi me interesa, ...
[Más]
Tags: Noticias Programación, Visual Studio
0dcbadbb-4810-48ad-8668-6e5507619f7b|0|.0

A ver, una rapidita que me voy de fin de semana :-)
A lo mejor alguna vez usando una herramienta de monitorización de red (o un simple netstat) has observado que tu ordenador está haciendo peticiones a una URL "sospechosa" como esta: http://sqm.msn.com/sqm/wmp/sqmserver.dll
"¡Diosss! ¡Es cierto, Microsoft nos espía!" habrá pensado más de uno, jajaja
Bueno, realmente es una forma de espiarte anónimamente, pero es una para la que tú explícitamente has dado permiso.
Se trata ni más ni menos del "Programa de mejora de la experiencia del cliente de Microsoft" y que has aceptado como una opción cuando instalabas Visual Studio, SQL Server u otros productos abarcados por la iniciativa. Este programa recopila información anónima sobre el uso de los productos, su rendimiento, etc... para ayudar a microsoft en su mejora contínua, así que no debe preocuparte: no es spyware :-)
¿Cómo me lo quito de encima?
Bueno, cada programa tiene su sitio para desconectarlo. Por ejemplo en ...
[Más]
Tags: Visual Studio
2d5b7ec1-c584-491e-8f0e-279359843c6f|0|.0

Hace poco comentaba en este blog que estaba disponible un parche que mejoraba Visual Studio 2008 para el desarrollo Web, y sobre todo aceleraba el ya de por si rápido diseñador Web.
En esa ocasión sólo estaba disponible en inglés. Ahora ya está disponible en castellano y otros idiomas también.
Estos retrasos en tener en otros idiomas las cosas es lo que hacen que me suela instalar todo en inglés. No deja de ser otra forma de colonialismo de los USA ;-)
¡Hala! Que te sea útil.
Tags: ASP.NET, Visual Studio
6aefea6c-7356-4607-a96d-6b2573ba3f20|0|.0

PowerCommands es un complemento para Visual Studio 2008 que incorpora al entorno una colección de utilidades relacionadas con la ventana de explorador de soluciones, para facilitarnos un poquito la vida a los programadores:
Puedes cerrar de golpe el árbol de proyectos completo (algo muy útil en proyectos grandes donde normalmente hay que ir uno a uno y es morirse. No sé como esto no lo tiene por defecto el entorno), Copiar una clase y pegarla en otro proyecto, copiar y pegar todas las referencias entre proyectos, abrir la carpeta contenedora, abrir una línea de comandos en esa carpeta, quitar y reordenar los using de un módulo, etc...
Puedes descargarlo (y también su código fuente) desde la página de MSDN Code gallery.
Tags: Visual Studio
69354983-4566-40bf-aff5-b535f89ffdac|0|.0

Como seguramente sabrás si eres asiduo lector o lectora de este blog, hace un par de semanas participé como ponente en el lanzamiento de Visual Studio 2008, durante los TechDays, The Evolution Show, en Madrid.
Como parte de ese evento, aparte de la consabida ponencia, participé en una sesión de Ask The Experts (ATE) el segundo día por la tarde, enla que tuve oportunidad de conversar con mucha gente (antes,durante y después) sobre todo tipo de cuestiones técnicas relacionadas con el desarrollo Web. El ATE es, básicamente, una lotería. LLegas, y la gente que está allí te empieza a preguntar lo que se le ocurra, así que nunca sabes por dónde te van a salir. En esta ocasión la cosa fue estupenda, y los asistentes hicieron muchas preguntas interesantes. ¡Gracias a todos los que asistísteis! :-)
Los buenos chicos de Microsoft grabaron todo el ATE para compartirlo en su página Comando Tomate, la última ida de olla de esos cracks que trabajan en DPE de Microsoft Ibérica.
Creo qu...
[Más]
Tags: AJAX, ASP.NET, Expression Web, Visual Studio
1b6097c7-b120-49d5-8c49-dd75d53b1222|0|.0

Este post surge a raíz de una duda que un alumno me preguntó hace unos días en uno de los cursos de campusMVP.
Cuando vas a ver las propiedades de un archivo en Visual Studio una de ellas es "Build Action", que controla el comportamiento del compilador respecto a dicho archivo. Las opciones disponibles se han ampliado en el caso de Visual Studio 2008 respecto a la versión anterior 2005, y son las que se ven en esta figura:
¿Para qué sirve cada una de ellas? Veamoslo:
· None: no hace nada con el archivo, como parece evidente :-)
· Compile: compila el contenido del archivo. Se usa para archivos con código fuente (.cs, .vb, etc..). Si quieres dejar fuera de la compilación a uno de estos archivos puedes ponerle 'None' como acción.
· Content: se usa para marcar archivos que deben ser distribuidos con la aplicación (y por lo tanto copiados a la carpeta de compilación) pero que son únicamente de contenido, no de código. Por ejemplo un archivo de configuración, un gráfico, un XML, etc...
[Más]
Tags: Visual Studio
0ddc47b3-43d8-4ad0-af79-83b5143d8868|0|.0

Hola a todos:
Como sabéis la semana pasada estuve en el Evolution Show en Madrid, en la presentación de Visual Studio 2008, Windows Server 2008 y SQL Server 2008. De hecho estuvimos un montón de tutores de campusMVP dando las ponencias, como ya os había comentado, y tuvimos un stand de Krasis/campusMVP por el que se pasó mucha gente. Lo pasamos estupendamente, y nos visitaron muchos amigos y alumnos, a los que me encantó saludar. Gracias :-)
Los que tuvísteis ocasión de ir a mi ponencia sobre desarrollo Web sabéis los problemas que tuve. Mi portátil al que le acababa de instalar el SP1 de Windows Vista se negó a trabajar y se rompió miserablemente (pantallazo azul, aunque no lo viéseis, y eso que el día anterior por la tarde había ido a comprobar que funcionaba bien). Por lo visto (me enteré luego) al instalar el SP1 de Vista se ponen otra vez los controladores de Microsoft y quita los que tu tuvieses, por lo que si como en micaso el controlador del fabricante es más reciente y...
[Más]
Tags: AJAX, ASP.NET, JavaScript, Visual Studio
c8b96b52-301b-4239-8eb7-40ef308958c5|0|.0

Nadie duda que Intellisense es una ayuda impresionante para todos los programadores. Yo, que tengo una memoria de pez, no sería capaz de programar sin esta característica :-)
Sin embargo tiene un defecto que siempre me ha molestado: cuando estás programandoy aparece el Intellisense, muchas veces te puede tapar el código que hay debajo (o encima si estás muy al borde inferior) y a lo mejor necesitas consultarlo para ver cómo se llama una variable o algo:
Bueno, pues con Visual Studio 2008, si nos pasa esto, lo único que tenemos que hacer es pulsar la tecla CTRL.
Al hacerlo, mientras no la soltemos, la ventana de Intellisense se vuelve transparente en casi su totalidad:
Con lo que problema resuelto. Estos tíos de del equipo de Visual Studio están en todo. :-)
Espero que te resulte útil.
JM.
Tags: Visual Studio
907efc37-0c28-4c81-a26a-d5029ae89e8c|0|.0