2012-01-15 16 views
9

Ho ereditato un'applicazione C#, è composta da 4 file di soluzione ciascuno con 92 progetti in ciascun file di soluzione.VISUAL STUDIO 2010: Come stampare tutti i progetti con una soluzione nella stessa directory

Sto cercando un modo semplice per modificare tutti i percorsi di generazione di ogni progetto in una directory comune quando creo le soluzioni manualmente.

Se qualcuno conosce una macro che eseguirà l'iterazione di ogni progetto e cambierà il percorso, o se c'è un modo per creare una variabile di ambiente globale che sostituirà tutte le variabili del progetto, o in qualsiasi altro modo, lo farò apprezzo davvero l'aiuto.

Si prega di notare che NON sto usando un server di build, e che mi piacerebbe farlo quando eseguo un build manuale sulla soluzione in Visual Studio.

Molte grazie in anticipo.

risposta

16
  1. Installare un editor di testo decente, se non ne hai già uno. Qualcosa come Notepad++. L'editor dovrà essere in grado di aprire più file contemporaneamente.

  2. Passare alla directory della soluzione padre in Risorse del computer.

  3. Immettere "* .csproj" (o "* .vbproj") nella barra di ricerca per poter aprire tutti i file di progetto in sottodirectory contemporaneamente.

    enter image description here

  4. Aprite il vostro editor di testo, come Notepad ++

  5. trascinare tutti i file di progetto in l'editor per aprire loro

  6. Cercare la linea <OutputPath>...</OutputPath> ed eseguire una ricerca e sostituzione in tutta la apri i documenti, sostituendo i percorsi che ci sono con il percorso che desideri.

    enter image description here

+0

Grazie, idea geniale e pratica! – Ryk

+0

@Ryk: molti modi per scuoiare un gatto, ma se vuoi solo far cambiare il percorso su tutta la linea questo sarebbe un modo semplice e veloce per gestirlo. Tieni presente che potresti avere più di un percorso di output diverso già nei file di progetto da sostituire (ad es. "Bin \ Release" e "bin \ Debug") –

+0

sei pro man !!! ho appena salvato la mia giornata o notte. – guness

1

Le informazioni sulla posizione di uscita memorizzata nel file di progetto (* .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> 

si possono trovare strumento per replcace/aggiungere che l'impostazione in tutti i file di progetto o scrivere da soli Updater ... file di progetto è XML file che può essere mofificato usando C#.

+1

grazie. Speravo di poterlo evitare. Quello che dici funzionerà, ma spero in qualcosa di più semplice, dato che in questo momento sono già al di sopra della mia testa in altre cose. Se non riesco a trovare altro modo, ti assegnerò i punti, ancora una volta grazie. – Ryk

+0

Ho sentito che l'applicazione Beyond Compare ha molte abilità per la manipolazione del testo ... forse sarà in grado di farlo (sostituisci il valore di ouputpath in tutti i file xml nella cartella e nelle sottocartelle). –

Problemi correlati