2012-01-15 20 views
9

He heredado una aplicación C#, está compuesta de 4 archivos de solución, cada uno con 92 proyectos en cada archivo de solución.VISUAL STUDIO 2010: Cómo generar todos los proyectos en una solución en el mismo directorio

Estoy buscando una manera fácil de cambiar todas las rutas de salida de compilación de cada proyecto a un directorio común cuando construyo las soluciones manualmente.

Si alguien sabe de una macro que iterará en cada proyecto y cambia la ruta, o si hay una manera de crear una variable de entorno global que anule todas las variables de los proyectos, o de cualquier otra forma, lo haré realmente aprecio la ayuda.

Tenga en cuenta que NO estoy utilizando un servidor de compilación, y que me gustaría lograr esto para cuando realice una compilación manual en la solución en Visual Studio.

Muchas gracias de antemano.

Respuesta

16
  1. Instale un editor de texto decente, si todavía no tiene uno. Algo así como Notepad++. El editor deberá poder abrir múltiples archivos a la vez.

  2. Vaya al directorio de la solución principal en Mi PC.

  3. Ingrese "* .csproj" (o "* .vbproj") en la barra de búsqueda para poder abrir todos los archivos de proyecto en subdirectorios a la vez.

    enter image description here

  4. Abra su editor de texto, como Notepad ++

  5. Arrastre todos los archivos del proyecto en el editor para abrirlos

  6. busque la línea <OutputPath>...</OutputPath> y realizar una búsqueda y reemplazo en todas abra documentos, reemplazando las rutas que están allí con la ruta que desea.

    enter image description here

+0

¡Gracias, idea brillante y práctica! – Ryk

+0

@Ryk: muchas maneras de despellejar a un gato, pero si solo quieres cambiar el rumbo en general, esta sería una forma rápida y sencilla de manejarlo. Solo tenga en cuenta que puede tener más de una ruta de salida diferente en los archivos del proyecto para reemplazar (por ejemplo, "bin \ Release" y "bin \ Debug") –

+0

¡¡¡usted es profesional !!! acabo de salvar mi día o noche – guness

1

La información sobre la ubicación de salida almacenada en el archivo de proyecto (* .csproj)

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <DebugSymbols>true</DebugSymbols> 
    <DebugType>full</DebugType> 
    <Optimize>false</Optimize> 
    **<OutputPath>..\..\Libs\CompiledLibs\</OutputPath>** 
    <DefineConstants>DEBUG;TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
</PropertyGroup> 

puede encontrar herramienta para replcace/añadir que ajuste en todos los archivos de proyecto o escribe usted mismo actualizador ... archivo de proyecto es XML archivo que puede ser modificado utilizando C#.

+1

gracias. Esperaba poder evitar eso. Lo que diga funcionará, pero espero algo más fácil, ya que ya estoy pensando en otras cosas en este momento. Si no puedo encontrar otra forma, te otorgaré los puntos, una vez más, gracias. – Ryk

+0

Escuché que la aplicación Beyond Compare tiene capacidades de ruch para la manipulación de texto ... posiblemente pueda hacerlo (reemplace el valor de ouputpath en todos los archivos xml de la carpeta y las subcarpetas). –

Cuestiones relacionadas