miércoles 18 de febrero de 2009

Para ver las dependencias entre proyectos en VS 2008

Cuantas veces nos sucede que necesitamos entender una aplicación que no la desarrollamos nosotros o bien, que lo hicimos hace mucho tiempo y no recordamos las dependencias entre los distintos proyectos de la solución?

Visual Studio 2010 traerá una serie de herramientas orientadas a entender la arquitectura e interdependencias de nuestra solución. Mientras tanto, VS 2008 no permite actualmente observar esto.

Realizando una pequeña búsqueda me encontré con esta herramienta que paso a compartir:

Visual Studio Dependencies Manager [ http://www.codeplex.com/vsdm ]


Esta es una herramienta free, en beta que justamente permite ver visualmente las dependencias entre los proyectos de una misma solución, incluyendo assemblies externos.

Adicionalmente permite otras cosas, como por ejemplo empaquetar y distribuir las .dlls. Yo solo usé lo primero.

Si bien tiene oportunidades de mejora, sobretodo gráficamente, cumple su función si queremos tener un primer approach de las interdepedencias de una solución.

Espero sea útil. Mas info en http://www.codeplex.com/vsdm

lunes 2 de febrero de 2009

Silverlight 3 and 4 to 'open up new areas' - Microsoft

A pesar que no hay ningún aviso oficial aún, todo parece que en 2009 habrá una nueva versión de Silverlight. Más detalles serán develados en el evento Mix 09 este mismo año.

De acuerdo a la noticia, Silverlight 3 tendrá una serie de nuevas features diseñadas para mejorar la parte gráfica, más controles, mejor compresión de video, soporte para gráficos 3d, aceleración de hardware y rich data binding con Visual Visual Studio y Visual Web Developer Express.

Guthrie dijo que seremos capaces de: "Do things you can't do with AJAX and Flash in the browser."

Aquí, comparto la noticia completa: http://www.theregister.co.uk/2009/01/30/guthrie_silverlight_3_and_4/print.html

martes 23 de diciembre de 2008

Para que el SQL genere los scripts de acuerdo a la versión que queramos…

Me encontré con el siguiente problema:

  • Generé el script de un job de una BD SQL 2005 con el SQL Server Management Studio 2008
  • Intenté correrlo en un SQL 2005 y me dio el siguiente error:

@schedule_uid is not a parameter for procedure sp_add_jobschedule.


 

Investigando, encontré que este error se da porque el SSMS 2008 genera por defecto los sripts para 2008, independientemente de la versión del motor. O sea, por más que estemos usando una BD en 2005 los scripts que genere serán para 2008. Mas información aquí.

Para cambiar este comportamiento hay que ir a Tools -> Options -> SQL Server Object Explorer -> Scripting y cambiar la opcion "Script for Server version". Allí seleccionamos la versión para la cual queremos generar los scripts.

Luego de cambiar esto, funcionó perfectamente en 2005.

Espero sea útil, gracias.

PP


 

lunes 22 de diciembre de 2008

Los 20 Add-ins más usados de Visual Studio

Comparto esta lista de pequeñas herramientas que encontré para Visual Studio.

Alguna seguro la conocemos y otras se ven bastante interesantes por sus descripciones.

La invitación es a que le echen un vistazo a la lista, vean si alguna les facilita la vida en algo, la prueben y den feedback J.

La lista completa en: http://netindonesia.net/blogs/agusto/archive/2008/05/23/most-useful-20-visual-studio-add-ins.aspx

Gracias,

PP

Windows Live Sync vs. Live Mesh vs. SkyDrive: Which is Right for You?

Encontré este artículo bastante útil que describe estas tres herramientas, que a veces se solapan y no está claro cuando usar cual.

El artículo completo está publicado en: http://www.labnol.org/internet/compare-windows-live-sync-mesh-and-skydrive/6166/

A continuación, comparto la transcripción del mismo:

Windows Live Sync vs. Live Mesh vs. SkyDrive: Which is Right for You?

Written by Amit Agarwal on December 20, 2008 Text Size

The new Windows Live suite includes three different services for file storage and online synchronization. They are called Live Mesh, Windows Live Sync and Windows Live SkyDrive - all apps are available for free and you just need a Windows Live account to get started.

Windows Live SkyDrive

Windows Live SkyDrive is an online file storage service similar to Box.net. You can manually upload documents, pictures and other files to Windows Live servers via the browser and your uploads will remain accessible from any other computer or web-enabled mobile phone.

Windows Live SkyDrive requires no installation and you get 25 GB of free storage space though the maximum size of an individual file / document cannot exceed 50 MB.  Each file or folder on SkyDrive has a unique Web address (URL), so you can easily paste that link into email messages or other documents for direct access.

Windows Live Sync


Windows Live Sync, formerly known as FolderShare, is a desktop app + web service that lets you sync files and folders across different computers. You can synchronize up to 20 folders containing up to 20,000 files each. Individual files cannot be larger than 4 GB in size.

Say you have music files stored in your home computer's hard disk and want to access this collection from the Office computer. Simply install Windows Live Sync of both the computers and add "my music" folder to your "personal folders" - now your entire music collection will be accessible from either of these computers.

Windows Live Sync also lets you remotely access your files on the hard drive from any other computer via the browser without setting up synchronization. This is handy in situations like where you have to download a presentation from your work computer that's saved on the desktop - just browse to the desktop folder via Live Sync website and download the file.

Other than online synchronization, Windows Live Sync also lets invite family members and colleagues (as readers, contributors or owners) to access certain folders on your computer though they will have to install the Live Sync software for this.

Windows Live Mesh


Live Mesh includes everything that Windows Live Sync has to offer plus two extra features - cloud storage and remote desktop (with support for copy-paste).

You first need to download the Live Mesh software and then select folders / files that you want to sync with other computers. The process is almost the same as Live Sync but here you can add folders for synchronization from Windows Explorer itself (right click any folder and click "Add Folder to Live Mesh") while Live Sync only offers a web interface to explorer.

When you add any folder to Live Mesh for synchronization, a copy of that folder gets stored online so you will always have access to your files even if the main computer is offline. This service is known as Live Desktop and offers 5 GB of online storage space.

Another important difference between Live Mesh and Windows Live Sync is Live Remote Desktop - Live Mesh lets you completely control the remote desktop just like other screen sharing application. You can even copy files and folders from the remote desktop to your local desktop through simple copy paste - copying folders manually is not possible in Windows Live Sync.

Both Live Mesh and Windows Live Sync offer clients for Windows and Mac but you may also install Live Mesh on mobile phones running Windows Mobile 6.1 or later.

Which Live Service is right for me? As expected, each of these Live services do have some overlapping features. Live Skydrive is for online storage, Live Sync is primarily for folder synchronization across computers (no storage) while Live Mesh offers a good mix of both though with limited storage space(5GB). Therefore my suggestion would be to go with SkyDrive as well as Live Mesh - you'll get plenty of storage space plus remote desktop plus you can access important files from any other computer.

lunes 24 de noviembre de 2008

Could not load type 'Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemDeniedOrNotExistsException'’

Me encontré con este problema luego de reinstalar mi equipo e intentar crear una nueva tarea de Team Foundation.

El error completo es:

Could not load type 'Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemDeniedOrNotExistsException' from assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f11d50a3a'.

Luego de intentar varias cosas, entre ellas, poner las .dlls manualmente en la GAC, la solución fue: Reinstalar el SP1 beta de VS 2008 J

En esta página aparecen otros miembros de la comunidad a los que les pasó lo mismo:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3384694&SiteID=1&pageid=0


 

Espero sea util,

PP

lunes 3 de noviembre de 2008

Anuncios del PDC – Windows Azure & Windows Azure Developer Services Platform

'We are in the early days of transformation' dijo Ray Ozzie en la keynote de apertura del PDC, derivándose luego en la presentación de la nueva plataforma de Microsoft® para la nube, Windows Azure.

Una plataforma que potencia un cambio paradigmático y sustancial de cómo concebimos nuestras aplicaciones, como las distribuimos, que decidimos hostear 'in premise' (en nuestro datacenter) y que hostear 'in the cloud', como escalamos y en definitiva, como seguimos una estrategia de S+S (Software + Services).

Se puede encontrar mucha información sobre esta nueva plataforma en www.azure.com.

Lo que voy a compartir a continuación es un breve resumen de lo que significa esta plataforma y los beneficios que podemos encontrar en ella como desarrolladores / arquitectos:

Que es Windows Azure?

Es un nuevo sistema operativo de Microsoft, pensado para la nube. El mismo ha sido creado para soportar el mega-datacenter que Microsoft está dejando a disposición para que podamos hostear allí nuestras aplicaciones y servicios.

O sea, no es un sistema operativo para que lo instalemos en nuestro PCJ.

Que beneficios tenemos al hostear en Windows Azure?

En esencia, según menciona Ray Ozzie en la misma keynote, Microsoft ha adquirido a lo largo de estos años una amplia expertise en el campo de datacenters y a través de la plataforma Azure está poniendo a disposición de la comunidad este conocimiento.

En concreto, esto se traduce hacia el desarrollador en los siguientes beneficios:

  • Escalabilidad por diseño. Si optamos por esta plataforma nuestras aplicaciones y servicios van a poder escalar y ser procesadas en múltiples servidores, totalmente trasparente para nosotros.


     

  • Alta disponibilidad. 24 x 7 o le devolvemos la diferencia J. Redundancia total, no nos tenemos que preocupar por esto.


     

  • Seguridad. La plataforma está pensada para ser segura y manejar distintos niveles de autenticación. No tengo claro en cuanto a la autorización y otras policies, pero seguro va a ser segura J.


     

  • Updating. Microsoft se va a encargar de mantener cada equipo actualizado. Ya no es nuestro problema.


     

  • Integración con Visual Studio. Esto permite que desde VS tengamos templates de proyectos, podamos deployar soluciones fácilmente, manejar las configuraciones, debuggear (durante el desarrollo), etc.

Que es Windows Azure Developer Services Platform?

Además del sistema operativo, Microsoft provee una capa de servicios que nos van a servir de 'building blocks' a la hora de construir nuestras aplicaciones para la nube.


En concreto, estos servicios son los siguientes:

  • .Net Services.
    • Service Bus: nos permite conectar servicios existentes actualmente a la nube, dejándolos expuestos para que terceros o nosotros mismos podamos consumirlos. Los servicios siguen hosteados 'in premise'. Previamente conocida esta iniciativa de MS como Internet Service Bus.
    • Access control: permite manejar identity federation, para hacer trasparente el cambio de un mundo al otro para el usuario final. Para ello se puede utilizar por lo que vi, usuario y pass, cardspace o certificados digitales.
    • Workflow services: fácilmente nos permite exponer workflows de WF como servicios en la nube.
  • SQL Data Services.

    Esto es lo que podríamos decir 'Database as a service'. A través de Http acceder a nuestros datos, abstrayéndonos del concepto de base de datos como tal.

    Hoy tiene algunas limitaciones que es sano entenderlas bien antes de optar por esta estrategia, pero resulta interesante como a través de verbos http podemos hacer query y updates de nuestros datos.

    Insisto, olvidémonos de ver un .MDF, el cambio es realmente dramático aquí.

  • Live Services

    Permite utilizar todos los servicios de la plataforma live + mesh desde nuestras aplicaciones. Ej.: ahora puedo tener un cliente que consuma datos / suba archivos a mesh.

  • Sharepoint Services

    Esto es lo que inicialmente nació como Sharepoint Online. Por lo que entendí nos permite compartir fácilmente sitios y documentos con nuestros clientes.


     

Y todo esto es gratis?

Por ahora, en esta etapa de prueba, sí. Luego para su versión final se conocerán los precios que seguramente estén muy alineados con el consumo que hagamos de los recursos. Según Ray Ozzie los precios serán competitivos con el mercado.


 

Y que hay disponible hoy?

Hoy está disponible un CTP de la plataforma, que lo podemos tangibilizar en dos sabores:

  • Un SDK de la plataforma que sirve para simular Azure en nuestro desktop. Esto nos permite desarrollar una solución localmente, debuggearla y ver como se comportará en el ambiente final cuando hagamos el deploy a la nube.

    Realmente está muy bueno.

    Tener en cuenta que en el ambiente final no vamos a poder debuggear. Workaround: a la vieja usanza, meter trace!.


     

  • En azure.com podemos crear nuestra solución, incluyendo los servicios mencionados arriba y por ejemplo dejar un servicio expuesto a través de service bus.

    Lo hice, funciona el hello world!J. Sin embargo para esto actualmente se necesita un código que actualmente está restringido a los participantes del PDC.


 

Espero que haber compartido esto haya servido para clarificar un poco más de que se trata esta nueva movida. Si bien ya hay mucho material, a veces al principio cuesta entender un poco como calzan estas piezas.

De hecho, yo empecé a entender un poco como funcionaba luego de haber hecho algún lab y algunas preguntas.

Quedo atento a comentarios y si hay preguntas que puedo responder, con mucho gusto.

PP