Carpeta de soluciones de Visual Studio como carpetas reales

Tengo una solución de Visual Studio. Actualmente, es una solución vacía (= sin proyectos) y he agregado algunas carpetas de soluciones.

Las carpetas de solución solo parecen ser “carpetas virtuales”, porque realmente no están creadas en el Sistema de archivos y los archivos dentro de las carpetas de solución están simplemente en la misma carpeta que el archivo .sln.

¿Hay alguna configuración que he pasado por alto que le dice a Visual Studio que trate las carpetas de soluciones como carpetas “reales”, es decir, que las cree en el sistema de archivos y las meta en ellas cuando las mueva dentro de la solución a una de esas carpetas?

Editar: Gracias. Voy a hacer una sugerencia para VS2010 entonces 🙂

Hay una solución, que en realidad se comporta como se esperaba .

  1. Agregue un sitio web nuevo o existente a la solución. (Por lo general, creo uno nuevo).
  2. Solo asegúrate de que esté creado dentro de tu carpeta de soluciones. (A veces incluso creo un “enlace” a una carpeta externa, por ejemplo, “Documentos” o “Marketing” en un recurso compartido de red. En ese caso, Git lo ignora, por supuesto).
  3. ¡Asegúrese de ir a la configuración de “Proyecto” o al Administrador de configuración para excluir este “Sitio web” de Build and Deploy !

Hecho. Ahora Solution Explorer reflejará cualquier cambio en el sistema de archivos y viceversa (incluidas las subcarpetas).

Yo (señorita) lo uso para especificaciones, documentos, PM y algunas secuencias de comandos DevOps que se comparten dentro del equipo. Es fácil elegir, qué incluir en el control de código fuente o no, y (si está configurado correctamente) no entra en conflicto con la comstackción.

Sé que la función no está destinada para ese caso de uso, pero a excepción del icono de “Proyecto”, que tal vez sea engañoso, no encontré ninguna falta aún. Y todavía hay casos de uso en los que las carpetas de soluciones clásicas (virtuales) que proporciona VS encajan en la imagen. ¿Qué piensas?

En Visual Studio 2017, haga clic en el icono “Soluciones y carpetas” en la ventana del Explorador de soluciones. Este botón alterna de la vista de “solución” virtual a una “vista de origen” que coincide con el diseño de las carpetas y archivos en el sistema de archivos. Cuando agrega una nueva carpeta, la carpeta se crea físicamente en la ubicación esperada. soluciones y carpetas .

Sara Ford contribuyó con una macro para agregar hacer esto. En Visual Studio 2010, si abre su Macro Explorer, verá una macro llamada “GenerateSlnFolderOnDirStructure”. Esto automatizará la creación de las Carpetas de solución y agregará los archivos.

He querido esta característica algunas veces, pero al final del día, realmente NO quieres la capacidad de hacer esto. Piense en su Solución (archivo) como la raíz de una aplicación web y piense en las carpetas de Solución como Directorios Virtuales (literal y funcionalmente). El contenido de un directorio virtual web podría estar físicamente en un servidor diferente por completo. Donde Visual Studio confundió el concepto de carpetas de solución es permitiéndole crear nuevos archivos dentro de la carpeta. Siempre debe “Agregar Existente” al agregar contenido. Cuando agrega existente, crea un enlace a la ubicación de origen del archivo.

Pero en cuanto a la razón por la que no desea que las carpetas de solución se comporten como carpetas “físicas” se debe a que su diseño de solución no necesariamente utiliza la misma convención que su diseño de control de origen. Las carpetas de soluciones le permiten personalizar la jerarquía de sus proyectos para que pueda agrupar proyectos y elementos de la forma que desee, y luego decidir que no le gusta y cambiarlos nuevamente sin tener que pasar por la pesadilla de mover elementos de control de origen alrededor e irritar al rest de su equipo.

No, no es compatible. Como sospechaba, las carpetas de soluciones son simplemente subentradas virtuales en el archivo .sln, nada que ver con el sistema de archivos.

Folder to Solution Folder Por Cecilia Wirén – CeciliaSHARP

Elimine la molestia de agregar varios archivos a la carpeta de soluciones. Solo use el menú contextual para la solución y justo debajo de la opción de crear una nueva carpeta de solución ahora encontrará ‘Agregar carpeta como carpeta de solución’. Esto creará una carpeta de solución con el mismo nombre que seleccionó y agregará los elementos dentro de esa carpeta a la carpeta de solución. Esto no moverá los archivos en el disco.

Nota: Sí, esto es posible, puedes crear una carpeta en la raíz, pero es un poco complicado …

Al dar algunos esfuerzos adicionales puedes hacerlo ¿Cómo? Vamos a seguir el paso–

  • 1-Crear carpeta por ejemplo: ” newfolder ” en la raíz (donde reside su archivo .sln).
  • 2. Copia y pega tus proyectos dentro de la carpeta.
  • 3. vaya a su archivo sln y busque proyectos movidos y agregue newfolder \ en la dirección del proyecto movido.
  • 4.Guarde el archivo sln.
  • 5. Abre tu proyecto y compromete el repository en git o así …
  • 6. Tome el repository en una nueva ubicación.

    Estás listo…

si todavía no puede ver su carpeta —–

  • 1.Agregue una carpeta de solución xyz.
  • 2. Abra el archivo sln y cambie el nombre de esa carpeta con el nombre de su carpeta.

Felicitaciones, has terminado ..

Si enfrenta algún problema, solo escríbame para obtener ayuda.

Visual Studio no tiene soporte para esto. Sin embargo, hice una extensión que hace algo similar para VS2013. Asigna las carpetas de soluciones a las carpetas físicas en su disco duro, aunque la asignación es de una manera (desde el disco duro hasta la solución). Eso significa que el contenido de una carpeta de solución reflejará el contenido de la carpeta del disco duro, y no a la inversa.

Con eso fuera del camino, la extensión aún puede ser útil. Tiene soporte para asignar carpetas de solución a carpetas físicas, filtrar archivos y directorios basados ​​en expresiones regulares y recordar asignaciones en su archivo .sln. Las propiedades no son intrusivas, por lo que los desarrolladores sin la extensión pueden abrir el archivo sln y no verse afectados.

Alojado en la galería visual studio: https://visualstudiogallery.msdn.microsoft.com/69e19ea6-4442-4cb6-b300-044dd21f02bd

Editar: Cargado en bitbucket. Ahora fuente abierta. Licencia de MIT https://bitbucket.org/LSS_NorthWind/physical-solution-folders

La carpeta creada debajo de la solución será virtual como se dijo. Tal vez esto se podría llamar una solución, pero puede crear físicamente la carpeta en el disco antes o cuando agregue un nuevo artículo / proyecto y Robert debería ser un hermano de su padre.

ps- en una mirada más cercana tal vez debería explicar “bob es tu tío” significa su bien / ordenados.

Puede agregar carpetas reales al elegir “Agregar nuevo filtro” para un archivo de proyecto de Visual Studio. También puede hacer “Agregar nuevo filtro” debajo de una carpeta existente. Una vez que se crea la carpeta, cambie el nombre y agregue el archivo de fuente o encabezado o el que mejor se adapte a su proyecto. Esta es una forma que conozco que nos permite crear carpetas reales a través del Visual Studio IDE.

Tengo un poco de solución para esto (no es genial, pero funciona).

  1. Crea una carpeta en tu solución (es decir, “Contoso”)
  2. Haga clic derecho en la solución y luego haga clic en “Abrir carpeta en Solution Explorer”
  3. Cree la carpeta física (es decir, “Contoso”) en el directorio de soluciones
  4. Copiar / Crear archivos en la carpeta física.
  5. Arrastre los archivos a la carpeta virtual en el explorador de soluciones.

No es genial porque tendrá que mantener manualmente las referencias de los archivos, pero funciona para mí.

Crear “Carpeta de solución”. Esto creará una carpeta lógica, pero no física. Haga clic derecho en la carpeta de la solución y abra un nuevo diálogo de proyecto. Pero antes de hacer clic en Aceptar, debe cambiar la ubicación de un proyecto a su carpeta física deseada y VS la creará y colocará el proyecto dentro.