vscode visual tutorial temas studio para español ejecutar configurar code visual-studio visual-studio-2010 projects-and-solutions

tutorial - "Agregar como enlace" para carpetas en proyectos de Visual Studio



visual studio code tutorial español pdf (7)

En Visual Studio, podemos "Agregar como enlace" para agregar un enlace a un archivo en otro proyecto en la solución.

¿Hay alguna manera de hacer esto para carpetas enteras, de modo que una carpeta completa en el proyecto A estará visible en el proyecto B, sin la necesidad de vincular manualmente a los nuevos elementos en esa carpeta?


Arranca el caparazón y agrega un enlace simbólico.

runas Administrador entonces

mklink /d LinkToDirectory DirectoryThatIsLinkedTo

¡Enlace simbólico de BAM!

/ d especifica el enlace del directorio.

Funciona en Vista desde el primer momento. Puede ser backported a XP.

Documentación aquí: http://technet.microsoft.com/en-us/library/cc753194%28WS.10%29.aspx

Para aquellos que no están familiarizados con los enlaces simbólicos, es esencialmente un puntero a otro archivo o directorio. Es transparente para las aplicaciones. Una copia en el disco, varias formas de abordarlo. También puede crear un "enlace fijo" que no sea un puntero a otra dirección, sino una entrada de ID de archivo real en NTFS para el mismo archivo.

NOTA: como se indica en los comentarios, esto solo funcionaría en la computadora donde creó el enlace simbólico y no funcionaría en un Sistema de control de versiones como git.


Como este blogpost declaró, es posible.

<ItemGroup> <Compile Include="any_abs_or_rel_path/**/*.*"> <Link>%(RecursiveDir)%(FileName)</Link> </Compile> </ItemGroup>

Pero tenga en cuenta que los archivos no se copiarán.



En cuanto a la parte de la consulta original para que aparezca una carpeta vinculada en el IDE, es posible lograr esto, así que hay una carpeta en el explorador de soluciones con todos los archivos vinculados, en lugar de todos los archivos que aparecen en la raíz de la solución. Para lograr esto, incluya la adición:

<ItemGroup> <Compile Include="../anypath/**/*.*"> <Link>MyData/A/%(RecursiveDir)%(FileName)%(Extension)</Link> </Compile> </ItemGroup>

Esto incluirá todos los archivos del directorio vinculado en una nueva carpeta en el explorador de soluciones llamado MyData. La ''A'' en el código anterior puede llamarse cualquier cosa, pero debe estar allí para que aparezca la carpeta.


No hay forma de hacerlo para carpetas enteras, pero si dos proyectos están en la misma solución, puede usar VSCommands 2010 para copiar varios archivos como enlaces al mismo tiempo. vea este video para obtener más información http://www.youtube.com/watch?v=fa1M0NGXqMg o vaya a visualstudiogallery.msdn.microsoft.com/en-us/d491911d-97f3-4cf6-87b0-6a2882120acf?lc=1033


Si desea agregar una carpeta como referencia y no desea compilarla, use:

<Content Include="any_path/**/*.*"> <Link>folder_in_B_project/%(RecursiveDir)%(FileName)%(Extension)</Link> </Content>


Una adición a la respuesta de mo. y el comentario de Marcus, si estás vinculando elementos de contenido necesitarás incluir la extensión del archivo:

<ItemGroup> <Compile Include="any_abs_or_rel_path/**/*.*"> <Link>%(RecursiveDir)%(FileName)%(Extension)</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Compile> </ItemGroup>

Perdón por la respuesta extra, no tengo la reputación suficiente para agregar un comentario.