El problema es simple en realidad. 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 "Agregar archivo existente" en una carpeta llamada Servicios y navego a un archivo en la estructura de directorios .. Servicios> Gestión de cuentas> CreateAccount.cs, aparece en Visual Studio de la siguiente manera: Servicios> CreateAccount.cs. No quiero esto.
Ya tengo una estructura de directorio completa, ya que estoy imitando a nuestros desarrolladores de 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 "aguantar" y recrear todas y cada una de las carpetas a través de Visual Studio?
fuente
Respuestas:
Necesita poner 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 el proyecto".
fuente
También puede arrastrar y soltar la carpeta desde el Explorador de Windows en la ventana de la solución de Visual Studio.
fuente
En Visual Studio 2015, así es como lo haces.
Si desea incluir automáticamente todos los archivos descendientes debajo de una carpeta específica:
Esto puede restringirse para incluir solo archivos dentro de la ruta especificada:
O incluso solo archivos con una extensión especificada:
Referencia: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio
fuente
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 derecho y regístrese en TFS para registrar todas las subcarpetas y archivos.
fuente
Puedes usar un enlace simbólico. Esto hace que modificar el archivo en un proyecto lo modifique en el otro (ya que en realidad es el mismo archivo).
Para hacer esto:
Esto tiene sus inconvenientes y dificultades, pero lo uso ocasionalmente para bibliotecas duplicadas que necesitan nombres diferentes.
Editar para Anoop: pasos para agregar a Visual Studio:
Estos son los pasos que sigo y funciona para un par de proyectos diferentes.
fuente
En Visual Studio 2017, cambia entre Vista de solución y Vista de carpeta de un lado a otro. Creo que esta es una mejor opción, ya que mantendrá la solución más limpia. Lo uso para editar archivos .gitignore, .md, etc.
fuente
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 se use una carpeta / archivo canónico, etc. en muchos lugares diferentes, pero solo desea mantener una versión / copia de la misma.
Aquí hay un ejemplo de lo que puede agregar a un
*.csproj
archivo para crear el enlace.$(Codez)
es una variable de entorno de Windows que definí, puede usar las variables de entorno integradas de la misma manera.El último grupo de ejemplo es un montón de archivos de contenido que necesito en la salida final. Consulte https://stackoverflow.com/a/11808911/492 y otras respuestas y enlaces allí para obtener más información al respecto.
Más información sobre MSBuild en https://msdn.microsoft.com/en-us/library/bb629388.aspx
fuente
Creo que encontré una manera de hacer esto con Compile Include = ". \ Code ***. Cs" Lo que quería era incluir código recursivamente en mi carpeta de Código.
Aquí está la muestra del archivo del proyecto.
fuente
En Visual Studio 2013, no podía hacer que "Incluir en el proyecto" funcionara al hacer clic derecho en una carpeta. Lo que funcionó fue expandir la carpeta, seleccionar todos los archivos y luego elegir "Incluir en el proyecto". Fue bastante tedioso ya que tienes que hacer cada carpeta una por una (pero al menos puedes hacer todos los archivos de cada carpeta de una sola vez), y parece almacenar la ruta del archivo (puedes ver esto viendo las propiedades en el archivo y mirando 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.
fuente
Por lo que puedo decir, la única forma de hacer esto 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 del proyecto para la solución y selecciónelo. VS, como parte de la importación de ese archivo de proyecto, también importará todo el directorio y, supongo, 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.
fuente
No encontré ninguna respuesta a mi satisfacción, así que me di cuenta.
Aquí está la respuesta si desea agregar códigos fuente externos a su proyecto y no desea copiar los códigos completos. Tengo muchas dependencias de otros gits y se actualizan cada hora, si no minuciosamente. No puedo copiar cada hora para sincronizar. Aquí está lo que tú necesitas hacer.
Supongamos que esta es la estructura:
/ root / projA / src
/ root / projA / incluye
/ root / projB / src
/ root / projB / incluye
/ root / yourProj / src
/ root / yourProj / incluye
Haz lo mismo para projB. Ahora los proyectos externos / existentes fuera de los suyos están presentes en su solución / proyecto. El VS los compilará juntos. Aquí hay un truco. Como el projA y el projB son carpetas virtuales bajo su proyecto, el compilador puede no encontrar el projA / incluye.
Si no encuentra el proyecto / incluye, haga clic derecho en el proyecto, seleccione "Propiedades".
Una advertencia, si hay archivos de inclusión / encabezado duplicados, la "exclusión del proyecto" en el "archivo de encabezado" realmente no funciona. Es un error en VS.
fuente
Visual Studio 2017 y versiones posteriores admiten un nuevo
.csproj
formato liviano que se conoce como "formato SDK". Una de las varias ventajas de este formato es que, en lugar de contener una lista de archivos y carpetas que se incluyen , los archivos están incluidos de manera predeterminada. Por lo tanto, con este nuevo formato, sus archivos y carpetas, agregados en el Explorador o en la línea de comandos, ¡serán recogidos automáticamente!El
.csproj
archivo de formato SDK actualmente funciona con los siguientes tipos de proyectos :Proyectos de biblioteca de clase
Aplicaciones de consola
Aplicaciones web ASP.NET Core
Proyectos de .NET Core de cualquier tipo
Para usar el nuevo formato, cree un nuevo proyecto .NET Core o .NET Standard. Debido a que las plantillas no se han actualizado para el .NET Framework completo, incluso en Visual Studio 2019, para crear una biblioteca de clases .NET, elija la plantilla de la Biblioteca estándar .NET y luego edite el archivo del proyecto para apuntar a la versión de marco de su elección ( el nuevo formato de proyecto de estilo se puede editar dentro de Visual Studio: simplemente haga clic derecho en el proyecto en el Explorador de soluciones y seleccione "Editar archivo de proyecto"). Por ejemplo:
Otras lecturas:
fuente