vista - ¿Cómo agrego un árbol de directorios existente a un proyecto en Visual Studio?
visual studio code ajuste de linea (10)
Creo que encontré una manera de hacer esto con la Compilación Include = ". / Code ***. Cs" Lo que quería era incluir el código recursivamente en mi carpeta de Código.
Aquí está la muestra del archivo del proyecto.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0" DefaultTargets="BuildTarget">
<PropertyGroup>
<OutputType>Library</OutputType>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<PropertyGroup>
<RootNamespace>Autogen</RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Remove="@(Compile)" />
<Compile Include="./Code/**/*.cs" />
</ItemGroup>
<Target Name="BuildTarget">
<Message Text="Build selected" Importance="high"/>
</Target>
</Project>
El problema es realmente simple. En lugar de crear carpetas en Visual Studio, creo una estructura de directorios para mi proyecto en el sistema de archivos. ¿Cómo incluyo todas las carpetas y archivos en un proyecto, manteniendo la estructura?
Si "Agrego un archivo existente" en una carpeta llamada Servicios y navego a un archivo en la estructura de directorios ... Servicios> Administración de cuentas> Crear cuenta.cs, aparece en Visual Studio como: Servicios> Crear cuenta.cs. No quiero esto.
Ya tengo una estructura de directorios completa ya que estoy imitando a nuestros desarrolladores clientes que usan la misma estructura para la organización. ¿Cómo agrego todas las carpetas y archivos al proyecto en Visual Studio? ¿O tengo que hacer lo que la mayoría de los usuarios de Microsoft hacen y "tolerar" y recrear cada carpeta a través de Visual Studio?
En Visual Studio 2013, no pude hacer que "Incluir en el proyecto" funcionara al hacer clic derecho en una carpeta. Lo que sí funcionó fue expandir la carpeta, seleccionar todos los archivos y luego elegir "Incluir en el proyecto". Fue bastante tedioso, ya que tiene que hacer cada carpeta una por una (pero al menos puede hacer todos los archivos en cada carpeta de una sola vez), y parece almacenar la ruta del archivo (puede ver esto al ver las propiedades en el archivo). y mirando a la opción "Ruta Relativa".)
Espero usar esto para implementar algunos archivos de datos en un proyecto de Visual Studio Installer, y parece que recoge los archivos incluidos y conserva sus rutas.
En Visual Studio 2015, así es como lo haces.
Si desea incluir automáticamente todos los archivos descendientes debajo de una carpeta específica:
<Content Include="Path/To/Folder/**" />
Esto se puede restringir para incluir solo archivos dentro de la ruta especificada:
<Content Include="Path/To/Folder/*.*" />
O incluso solo archivos con una extensión específica:
<Content Include="Path/To/Folder/*.jpg" >
Referencia: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio
Para ampliar la respuesta de Yuchen , puede incluir archivos y rutas como un enlace. Esto no es lo mismo que agregar los elementos existentes porque no hace una copia adicional en la estructura de carpetas de su proyecto. Es útil si desea que una carpeta / archivo canónico, etc. se use en muchos lugares diferentes, pero solo desea mantener una versión / copia de la misma.
Este es un ejemplo de lo que puede agregar a un archivo *.csproj
para crear el enlace
<Compile Include="$(Codez)/z.Libraries/Common/Strings/RegexExtensions.cs">
<Link>Helpers/RegexExtensions.cs</Link>
</Compile>
<Compile Include="../../z.Libraries/MoreLINQ/MoreLinq/ExceptBy.cs">
<Link>Helpers/ExceptBy.cs</Link>
</Compile>
<Content Include="C:/Codez/Libs/Folder/OtherFolder/**/*.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
$(Codez)
es una variable de entorno de Windows que he definido, puede utilizar las variables de entorno integradas de la misma manera.
El último grupo de ejemplo es un grupo de archivos de contenido que necesito en la salida final. Consulte https://.com/a/11808911/492 y otras respuestas y enlaces para más información al respecto.
Más información de MSBuild en https://msdn.microsoft.com/en-us/library/bb629388.aspx
Por lo que sé, la única forma de hacerlo en VS2010 es similar al método de arrastrar y soltar. Haga clic derecho en la solución a la que desea agregar un proyecto. El menú de la aplicación tendrá un elemento agregar ... Al abrir eso, encontrará que una de las opciones es agregar un proyecto existente a la solución.
En el cuadro de diálogo que se abre, navegue a la carpeta que contiene el archivo de proyecto para la solución y selecciónelo. VS, como parte de la importación de ese archivo de proyecto, también importará el directorio completo y, asumo cualquier directorio subordinado que sea parte de ese proyecto.
Como esto requiere un archivo de proyecto existente, no será imposible importar un árbol de directorios hasta que ese árbol se haya convertido en un proyecto.
Puede utilizar un enlace simbólico. Esto hace que la modificación del archivo en un proyecto lo modifique en el otro (ya que en realidad es el mismo archivo).
Para hacer esto:
- Abrir el indicador de cmd como administrador
- mklink / d [nombre del directorio del proyecto actual] [directorio en otro proyecto al que debería apuntar]
Esto tiene sus inconvenientes y desventajas, pero en ocasiones lo uso para bibliotecas duplicadas que necesitan nombres diferentes.
Editar para Anoop: Pasos para agregar a Visual Studio:
- Cree un enlace en la carpeta del proyecto siguiendo los pasos anteriores.
- En Visual Studio ... seleccione el proyecto en el Explorador de soluciones.
- En la parte superior del Explorador de soluciones ... haga clic en el botón Mostrar todos los archivos (puede que tenga que hacer clic dos veces si ya está activo).
- El enlace ahora se mostrará en su proyecto ... haga clic con el botón derecho y elija Incluir en el proyecto.
Estos son los pasos que sigo y funciona para un par de proyectos diferentes.
Copiar y pegar .
Para agregar una carpeta, todos los subdirectorios y archivos también podemos copiar y pegar. Por ejemplo podemos:
Haga clic derecho en el explorador de Windows en la carpeta, y Copie en la carpeta con muchos archivos y carpetas.
Luego, en el explorador de soluciones de Visual Studio, haga clic derecho en la carpeta de destino y haga clic en pegar.
Opcional agregar a TFS; Luego, en la carpeta superior, haga clic con el botón derecho y regístrese en TFS para registrar todas las subcarpetas y archivos.
Necesita poner su estructura de directorios en el directorio de su proyecto. Y luego haga clic en el icono "Mostrar todos los archivos" en la parte superior de la caja de herramientas del Explorador de soluciones. Después de eso, se mostrará el directorio agregado. A continuación, deberá seleccionar este directorio, hacer clic con el botón derecho y elegir "Incluir en el proyecto".
También puede arrastrar y soltar la carpeta desde Windows Explorer en la ventana de la solución de Visual Studio.