2011-11-24 11 views
7

Estaba agregando una carpeta a mi proyecto visual studio 2008, arrastrando y soltando desde el explorador. Quiero cambiar la propiedad 'Copiar a directorio de salida' de todos los archivos en esa carpeta a 'Copiar siempre'.Cambiar la propiedad de los archivos completos en la carpeta en el proyecto de Visual Studio 2008

El problema es que la carpeta contiene muchas subcarpetas, al igual que las subcarpetas ... por lo que fue un poco molesto no poder bloquear todos los archivos y cambiar la propiedad en un solo paso.

¿Hay alguna manera de cambiar la propiedad de todos los archivos en una carpeta que contiene varias subcarpetas en un solo procedimiento?

Muchas Gracias ...

+1

Estoy seguro de que podría tener un script de PowerShell poco aseado para actualizar el archivo csproj si querías. : D – Russell

Respuesta

3

Si realmente tiene una gran cantidad de sub-carpeta & archivos continuación, puede probar estos pasos

  1. Crear am proyecto vacío, agregar su carpeta para el proyecto
  2. Guardar el proyecto y abrir el archivo de proyecto en un buen editor de textos
  3. Este archivo de proyecto tendrá ahora todos los archivos de los que desea cambiar la acción de construcción
  4. Eliminar todas las otras etiquetas diferentes de etiquetas de contenido (estos se refieren a sus archivos)
  5. Haga la búsqueda simple & reemplace para reemplazar //>/n (barra oblicua & seguida de una nueva línea) con ">/n<CopyToOutputDirectory>Always<//CopyToOutputDirectory>/n<//Content>". (Tenga en cuenta que utilizo Notepad ++ y, por lo tanto, he tenido barras vacías). Siempre puede omitir nuevas líneas si su herramienta no lo admite. Incluso puede intentar regex encontrar & reemplazar si su herramienta lo admite.
  6. Puede que tenga que ajustar la ruta del archivo (si su nuevo proyecto tiene una jerarquía de carpetas diferente); esto se puede lograr al encontrar & reemplazar Include=".
  7. pegar estos nodos de contenido en el archivo de proyecto que desea modificar
+0

Probé todas las soluciones sugeridas, y concluyo que la mejor manera es dependiendo de la situación en sí. Si tiene muchas subcarpetas con una estructura simple, entonces la sugerencia de Paul es rápida, simple y aplicable. Pero, si la profundidad de las subcarpetas varía, elegiré la idea de Valamas o VinayC. Elijo esto como respuesta para sus pasos detallados. Gracias por todas las respuestas :) –

1

única forma que conozco es editar el archivo csproj. Podría crear una utilidad para ayudarlo a hacer esto.

Una prueba rápida me dio lo siguiente.

<Content Include="Test.css" /> 

Después de cambiar las propiedades ...

<Content Include="Test.css"> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
</Content> 
+0

Motivo de neg? –

+0

Gracias por la respuesta ... Lo intentaré y publico el resultado ... –

+0

+1 Escriba una utilidad, o use un texto de texto –

4

Sólo expanda todas las carpetas. Seleccione todos los archivos a la vez y cambie la acción de creación a "Copiar siempre". Puede seleccionar el elemento superior, mantener presionada la tecla Mayús, seleccionar el último elemento y seleccionar todos los elementos.

+0

Como dice el OP, cuando los archivos están en varias carpetas, no puede hacer esto. –

+1

Claro que sí, lo hago todo el tiempo. –

+0

Al usar este método, solo está presente la propiedad 'Nombre de archivo'. –

Cuestiones relacionadas