Visual Studio 2005 – Los nuevos WinForms …

Hace mucho tiempo que no veia un WebCast tan bueno. Realmente les recomiendo este WebCast de Channel9. Joe Stegman lead program manager del WinForms .net nos muestra como en pocos minutos se pueden hacer grandes aplicaciones con pocas lineas de código.

La experiencia, nos enseña (siempre un poco tarde) que estas demos, son solo demos, ya que las aplicaciones reales suelen ser mucho más complejas. Sin embargo, es muy interesante los cambios a look and feel y enlazamiento de controles que podemos utilizar en esta versión.

 

Saludos

El Bruno

Discos Virtuales en Maquinas Virtuales

Es increible, lo dependiente de la tecnologia que podemos llegar a ser. En estos momentos, ni siquiera mi disco externo de 80Gb me sirve para almacenar todas las maquinas virtuales que utilizo para las pruebas y desarrollo diario.

Si tenemos en cuenta que una maquina virtual con Windows 2003 R2 y Microsoft Sql Server 2005, pesa alrededor de 4GB. Si tenemos diferentes maquinas virtuales para diferentes entornos, podemos llegar rapidamente a consumir varios GBs de espacio.

Una solución a este problema, es utiilzar discos virtuales de diferencias. Estos discos se montan como “childs” de un disco parent y solo guardan las diferencias en los mismos. En Virtual Server y Virtual PC, disco duro virtual que almacena los cambios o “diferencias” en un disco duro virtual principal asociado con el fin de mantener intacto el disco duro principal. El disco de diferenciación es un archivo .vhd independiente que está asociado al archivo .vhd del disco principal. Los cambios siguen acumulándose en el disco de diferenciación hasta que se combina con el disco principal.

De esta manera podríamos tener solo un disco con el SO Windows 2003 R2 y el Microsoft Sql Server 2005; y luego diferentes discos donde tengamos combinaciones con Visual Studio 2005, Biztalk 2004 y BizTalk 2006, etc.

Un buen tutorial sobre la creacion de este tipo de discos lo pueden ver aquí; y si además queremos reducir un poco más el tamaño de nuestras maquinas virtuales, podemos leer esta entrada.

 

Saludos

El Bruno

Microsoft Office 2007 en el 2007 !!!


Hace unos días nos enterabamos que la fecha final de lanzamiento de Windows Vista sería en el 2007 (aquí) y ahora nos confirman que el lanzamiento de Office 2007, también será en el 2007 !!! (aquí) Según las declaraciones de Microsoft, esta acción se realiza para que ambos productos conozcan el mercado al mismo tiempo, sin embargo, gran parte del sector informático piensa que Microsoft tampoco ha llegado a tiempo con Office.

Como BetaTester, lo único que puedo decir es que ésta no es “simplemente” una nueva versión de Office, es un cambio mucho más amplio que se orienta a la connectividad y al trabajo en equipo. Desde este punto de vista, prefiero, personalmente, que un producto se retrase un par de meses y que no posea errores, antes que tener a tiempo un producto y sufrir hasta el SP1 del mismo.

Podemos tomar como ejemplo, el Team Foundation Server, que si bien originalmente era parte de la suite de Visual Studio 2005, no conoció el mercado en septiembre del 2005 con el Visual Studio, sino que se lanzó una Beta 3 y hace unos días salio la versión final (100% confiable) al mercado.

Yo mientras, seguiré usando mi Beta1 Refresh y postearé cada error y sugerencias para aportar un pequeño granito de arena a la versión final.

Saludos

El Bruno

XBox and .Net Framework

News relacionadas con el .Net Framework. En este caso, desde Microsoft Press Pass, donde nos cuentan que XNA Framework contiene una implementación de .Net Framework, para que los desarrolladores puedan aprovechar las ventajas de C# para el desarrollo de juegos.

 

XNA Framework Simplifies Cross-Platform Game Development

 

The XNA Framework contains a custom implementation of the Microsoft® .NET Framework and new game-development-specific libraries designed to help game developers more easily create cross-platform games on Windows® and Xbox 360 using the highly productive C# programming language. Using the XNA Framework, game developers will benefit from the ability to re-use code and game assets in developing multiplatform titles, without sacrificing performance or flexibility.

 

"We’ve been writing games for the last 15 years as monolithic, single code bases that are growing unwieldy and complex," said Chris Butcher, lead developer at Bungie Studios. "C# on Xbox 360 lets us think about new modes of programming. It lets us get back to creating a game rather than wresting with code, while maintaining the real-time performance that we need."

 

With millions of developers worldwide proficient in C#, the XNA Framework is designed to make game development significantly more approachable for independent and aspiring game developers, while enabling rapid prototyping and concept iteration.

 

"We were proud to be a launch partner with Microsoft for Xbox 360 Live Arcade, and we’ve been pleased with its success so far," said James Gwertzman, director of Business Development at PopCap Games Inc. "Anything that simplifies the process of creating great casual games and lowers the development complexity for Windows and Xbox 360 is something we’re happy to support."

 

La conclusion interesante, es que finalmente podremos utilizar .Net dentro de nuestra XBox. Obviamente, en mi caso, para eso primero necesito la XBox, pero ese es un problema que mi chica se propone arreglar.

 

Saludos

El Bruno

Microsoft Visio – Diferentes Templates para diseñar una base de datos

Un par de experiencias en la fase de diseño técnico. Por ejemplo, un detalle interesante a tener en cuenta cuando diseñamos una base de datos con Visio 2003 for Enterprise Architects.

Los diferentes tipos de documentos que podemos crear pueden ser basicamente:

·         Database Model Diagram

·         ER Source Model Diagram

·         Etc.

 

 

En mi caso, en particular, por restricciones del negocio, tuve que comenzar a trabajar con el template de ER Source Model Diagram. Este template, permite, entre otras cosas, realizar una ingenieria inversa desde una base de datos existente y modelar la misma en Visio. Pero no permite exportar luego la definción a una base de datos, Microsoft Sql Server por ejemplo.

El template Database Model Diagram, si permite esta funcionalidad y además puede generar un archivo DDL con el script necesario; o actualizar directamente la base de datos con los cambios.

Despues de investigar un poco, he terminado descubriendo que el template ER Source Model Diagram es un “subset” del template Database Model Diagram y que oculta algunas funcionalidades del mismo. Pero que tranquilamente se puede crear un template Database Model Diagram y trabajar como si fuese ER Source Model Diagram (obteniendo además las ventajas del primer template).

El problema, me surgió cuando tuve que “migrar” mi documento ER Source Model Diagram a un template Database Model Diagram. Despues de tratar de modificar el xml generado por visio, y de utilizar algunos productos de terceros, la mejor opción que encontré fue exportar el modelo a un archivo ERWin ERX, y luego crear un nuevo template del tipo Database Model Diagram e importar la definicion desde el archivo ERWin ERX. De esta manera, obtenemos todas las definiciones de las entidades y sus relaciones, pero no la parte visual; asi que de nuevo a “acomodar” cajitas en visio; pero la parte importante esta finalizada. Un workaround interesante.

Saludos.

El Bruno

Office 2007 – Software Visual Studio Tools For Office “v3″ – March Community Technology Preview (CTP)


 

Hace un tiempo que esperaba esta noticia. Microsoft ha liberado

 

Microsoft Pre-Release Software Visual Studio Tools For Office "v3" – March Community Technology Preview (CTP)

http://www.microsoft.com/downloads/details.aspx?FamilyID=2e85132b-7370-4137-a19a-15752ea83952

 

Ahora podremos comenzar a probar realmente las caracteristicas de integración de desarrollo de la nueva versión de Office 2007. He aquí algunas de las caracteristicas principales de este SDK.

 

·         Support for the new Office Open XML file formats in Microsoft Office 2007

·         Support for the new UI ( “ribbon”) extensibility model in Microsoft Office 2007

·         Add-In projects for Microsoft Access 2007, Microsoft Excel 2007, Microsoft SharePoint Designer 2007, Microsoft InfoPath 2007, Microsoft Outlook 2007, Microsoft PowerPoint 2007, Microsoft Project 2007, Microsoft Publisher 2007, Microsoft Visio 2007, and Microsoft Word 2007

·         Support for the new application-level customizable taskpane

 

Saludos

El Bruno

PD: Si si si, han leido bien, addins para TODOS los productos de la familia Office 2007.

 

Visual Studio 2005 – Asp.Net 2.0, compiling with partial class

Recién me preguntaron, como se podia modificar el acceso de un control dentro de un WebControl para que sea publico. Esta accion en Visual Studio 2003, era bastante simple, ya que simplemente modificabamos el atributo protected por public del mismo, en la sección Web Designer Generated Code Por ejemplo la declaracion de un TextBox;

 

  Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox

 

 

Se modificaba por

 

  Public WithEvents TextBox1 As System.Web.UI.WebControls.TextBox

 

 

De esta manera, luego se podia acceder al control interno del WebControl desde la pagina que contenia al WebControl.

 

  Me.WebUserControl11.TextBox1.Text = "Hola"

 

 

Sin embargo, en Visual Studio 2005, esto no es posible ya que la clase de código asociado al WebControl es parcial y no contiene la definicion de los controles del WebControl (las definiciones se generan dinamicamente al momento de compilar). Esta caracteristica es nueva del compilador de ASP.NET 2.0.  El compilador de ASP.NET (aspnet_compiler.exe) fue introducido originalmente en ASP.NET 2,0 como manera totalmente de precompilar un sitio entero, permitiendo no desplegar nada salvo assemblies.  Esto es interesante porque elimina cualquier compilación a pedido cuando se hacen las peticiones, eliminando el primer post deployment.  Pero de esta manera también se hace más difícil que las modificaciones sean hechas a un sitio ya desplegado (puesto que no se puede editar archivos aspx y modificarlos).

El compilador liberado con ASP.NET 2,0 soporta este modelo de despliegue, pero lo también se ha modificado para soportar un modelo actualizable del despliegue.  Este modelo es posible debido a la reintroducción de la herencia en el modelo del codebehind, para poder ser generado y compilar las clases parciales del WebControl que contienen declaraciones del control independientemente de las definiciones reales de la clase.

Despues de probar varias opciones (5 min.) se me ocurrio que tal vez el migrador de proyectos a Asp.Net 2.0, me podria dar la respuesta, y asi fue. Una vez migrado el proyecto, en el log de migracion, me encontré con el siguiente mensaje:

=========================ERRORS===================

ERROR: The member declaration for ‘TextBox1′ was removed and its accessibility has been changed from ‘public’ to ‘protected’. To access this member from another page you should create a public accessor property for it.    WebUserControl1.ascx.vb

 

 

Asi que siguiendo las recomendaciones de Microsoft, la solución fue publicar este control en una nueva propiedad en el WebControl. Por ejemplo:

 

       Public Property myTextBox1() As System.Web.UI.WebControls.TextBox

             Get

                    Return Me.TextBox1

             End Get

             Set(ByVal value As System.Web.UI.WebControls.TextBox)

                    Me.TextBox1 = value

             End Set

       End Property

 

Todos los días aprendemos algomas de los interesanes cambios de Asp.Net 2.0.

Saludos

El Bruno