[VISUAL STUDIO] Agregar como vinculo

Una característica de los proyectos de Visual Studio .NET es que, por defecto, la relación entre el proyecto y sus elementos (.cs, .xaml,.vb, etc…) es de 1 a 1. Esto hace que al intentar compartir un mismo fichero de código entre 2 o más proyectos, Visual Studio hace una copia local, lo cual no es bueno si lo que queremos tener un solo archivo de código y compartirlo entre varios proyectos con el objetivo de mejorar la re-utilización.

La primera vez que necesite esta funcionalidad, fue implementando proyectos con el patrón MVVM en los cuales era imperativo compartir la View Model entre las diferentes plataformas.

Bueno vamos al grano…. Si necesitamos compartir un fichero de código los pasos a seguir son:

– En el proyecto destino, utilizamos la opción “Agregar->Elemento Existente”

AgregarComoVinculo_Agregar_elemento_exisente

– Se mostrará el selector de archivos, donde debemos seleccionar él o los archivos a incluir en nuestro proyecto, pero en lugar de hacer clic sobre “Agregar”, desplegamos las opciones del botón “Agregar” y seleccionamos “Agregar como vinculo

AgregarComoVinculo_Agregar_vinculo

– Por último, si miramos el icono asociado, vemos con Visual Studio añade una marca para indicar que es un vinculoAgregarComoVinculo_icono

Ahora podemos tener un solo archivo de código incluido en varios proyectos.

Si en el fichero de código compartido necesitamos incluir características especificas de una plataforma, debemos usar las los símbolos de compilación condicional:

– SILVERLIGHT:

– WINDOWS_PHONE:

– NETFX_CORE: para aplicaciones de la tienda de windows.

Por ejemplo, si necesitamos incluir código especifico para aplicaciones de la tienda de Windows, usamos

#if <SIMBOLO_COMPILACION>

#if NETFX_CORE

#endif

de esta forma, el código dentro del bloque “if”, solo se ejecutará si la plataforma es la indicada en la condición.