¿Cómo puedo "agregar un elemento existente" a una estructura de directorio completa en Visual Studio?

StackOverflow https://stackoverflow.com/questions/57776

  •  09-06-2019
  •  | 
  •  

Pregunta

Tengo un conjunto independiente de archivos que no están afiliados a ningún proyecto de C# y que residen en una complicada estructura de directorios anidados.

Quiero agregarlos en ese formato a un directorio diferente en una aplicación web ASP.NET en la que estoy trabajando;manteniendo la misma estructura.Entonces, copié la carpeta en la ubicación de destino de mi proyecto e intenté "agregar un elemento existente" solo para perder la jerarquía de carpetas anterior.

Por lo general, he vuelto a crear los directorios a mano, los copio uno a uno y luego agrego los elementos existentes.En este caso, simplemente hay demasiados directorios/elementos.

Entonces, ¿cómo se agregan directorios y archivos existentes en Visual Studio 2008?

¿Fue útil?

Solución

Arrastre los archivos/carpetas desde el Explorador de Windows al Explorador de soluciones.Los agregará a todos.Tenga en cuenta que esto no funciona si Visual Studio está en modo Administrador, porque el Explorador de Windows es un proceso en Modo Usuario.

Otros consejos

Permitir "Mostrar todos los archivos" para el proyecto específico (es posible que tengas que presionar "Actualizar" para verlos)**.

Las carpetas/archivos que no forman parte de su proyecto parecer ligeramente "más claro" en el árbol del proyecto.

Botón derecho del ratón las carpetas/archivos que desea agregar y haga clic "Incluir en el proyecto".Agregará carpetas/archivos de forma recursiva al proyecto.

** Estos botones están ubicados en la mini barra de herramientas del Explorador de soluciones.

** Asegúrese de NO estar en modo de depuración.

En el Explorador de soluciones:

  1. Hacer clic Mostrar todos los archivos (segundo ícono desde la izquierda en la parte superior del Explorador de soluciones).
  2. Localice la carpeta que desea agregar.
  3. Haga clic derecho y seleccione "Incluir en el proyecto"

Lo uso para instalar complementos como editores HTML y exploradores de archivos de terceros.

Sólo quiero señalar que dos de las soluciones ofrecidas anteriormente,

  • Arrastrar y soltar desde el Explorador de Windows
  • Mostrar todos los archivos y luego incluirlo en el proyecto.

no hagas lo que pedía la pregunta:

incluir en el proyecto preservando al mismo tiempo la estructura del directorio.

Al menos no en mi caso (proyecto C++/CLI Visual Studio 2013 en Windows 7).

En Visual Studio, una vez que regrese a la vista normal (no Mostrar todos los archivos), todos los archivos que agregó se enumeran en el nivel superior del proyecto.

Sí, en el disco todavía residen donde estaban, pero en el Explorador de soluciones están sueltos.

No encontré una manera de evitarlo excepto recrear la estructura de directorios en el Explorador de soluciones y luego hacer Agregar elementos existentes en el lugar correcto.

No entendí esto de inmediato según estas descripciones, pero esto es con lo que finalmente me topé:

  1. Active "Mostrar todos los archivos": hay un ícono en la barra de herramientas del Explorador de soluciones
  2. Usando el Explorador de Windows (no el Explorador de soluciones), mueva sus archivos a la estructura de directorios donde desea que residan.
  3. Haga clic en "Actualizar" también en la barra de herramientas del Explorador de soluciones.
  4. Los archivos que ha movido deben estar visibles "en forma fantasma" en la estructura de árbol del Explorador de soluciones donde los colocó.
  5. Haga clic derecho en sus archivos o carpetas fantasma y haga clic en "Incluir en proyecto".Se incluirá todo el contenido de una carpeta.

A continuación se muestra el ícono para 'Mostrar todos los archivos', sólo para facilitar la referencia.

Enter image description here

Enter image description here

Haga clic arriba en el círculo rojo.Su carpeta aparecerá en el Explorador de soluciones.

Haga clic derecho en su carpeta -> incluir en el proyecto.

Puede cambiar el XML de su proyecto para agregar subcarpetas y estructuras existentes automáticamente a su proyecto como "node_modules" de NPM:

Esto es para versiones anteriores de MSBuild/Visual Studio.

<ItemGroup>
   <Item Include="$([System.IO.Directory]::GetFiles(&quot;$(MSBuildProjectDirectory)\node_modules&quot;,&quot;*&quot;,SearchOption.AllDirectories))"></Item>
</ItemGroup>

Para las versiones actuales de MSBuild/Visual Studio:

Simplemente colóquelo en los nodos del xml:

<Project>
</Project>

En este caso, simplemente cambie $(MSBuildProjectDirectory) ode_modules por el nombre de su carpeta.

Debe colocar la estructura de su directorio 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.Luego deberá seleccionar este directorio, hacer clic derecho y elegir "Incluir en proyecto".

Por fin, Visual Studio 2017 permite al usuario importar un directorio completo con un solo clic.Visual Studio 2017 tiene una nueva funcionalidad "Carpeta abierta" que permite abrir toda la carpeta, incluso sin necesidad de guardarla como solución.El código fuente se puede importar utilizando los siguientes métodos.

  1. Menú ArchivoAbierto → *Carpeta (Control + Cambio + oh)
  2. devenv.exe <source folder>

Incluso admite la creación y depuración de proyectos CMake.

Lleve su código base de C++ a Visual Studio con "Abrir carpeta"

Esto es lo que hago:

  1. Haga clic derecho en la solución -> Agregar -> Sitio web existente...
  2. Elija la carpeta donde está su sitio web.Solo la carpeta raíz del sitio.

Luego, todo se agregará a su solución, desde carpetas hasta archivos y archivos dentro de esas carpetas.

Un buen truco que descubrí es que si vas a "Agregar existente...", puedes arrastrar la carpeta desde el cuadro de diálogo abierto a tu solución.

Tengo mi Visual Studio para abrir automáticamente en Modo Administrador, así que esta fue una buena solución para mí ya que no quería tener que deshacer eso solo para que esto funcione.

Lo que funcionó para mí fue arrastrar la carpeta a Visual Studio, luego hacer clic derecho en la carpeta y seleccionar "Abrir carpeta en el Explorador de archivos".Luego seleccione todos y arrástrelos a la carpeta en Visual Studio.

Ahora hay una extensión de código abierto en Marketplace que parece hacer lo que pedía el OP:

Carpeta a carpeta de soluciones

folder-to-solution-folder

Si no hace exactamente lo que desea, el código está disponible, por lo que puede modificarlo para adaptarlo a su escenario.

HT

En Windows 7 puedes hacer lo siguiente:

Haga clic derecho en su proyecto y seleccione "Agregar->Elemento existente".En el cuadro de diálogo que aparece, busque la raíz del directorio que desea agregar.En la esquina superior derecha tienes un cuadro de búsqueda.Tipo *.cs o *.cpp, sea cual sea el tipo de archivos que quieras añadir.Una vez finalizada la búsqueda, seleccione todos los archivos, haga clic en Agregar y espere un momento...

La forma más limpia que he encontrado para hacer esto es crear un nuevo proyecto de biblioteca de clases en la carpeta de destino y redirigir todos los resultados de su compilación a otra parte.Todavía deja un archivo .csproj en esa carpeta, pero le permite verlo en Visual Studio y elegir qué archivos incluir en su proyecto.

Es molesto que Visual Studio no admita esto de forma nativa, pero CMake podría generar el proyecto de Visual Studio como solución alternativa.

Aparte de eso, simplemente use Qt Creator.Luego puede exportar un proyecto de Visual Studio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top