Mi chiedo solo se qualcuno potrebbe aiutarmi con alcuni script di msbuild che sto cercando di scrivere. Quello che mi piacerebbe fare è copiare tutti i file e sottocartelle da una cartella in un’altra cartella usando msbuild.
{ProjectName} |----->Source |----->Tools |----->Viewer |-----{about 5 sub dirs}
Quello che devo essere in grado di fare è copiare tutti i file e le sottocartelle dalla cartella degli strumenti nella cartella di debug dell’applicazione. Questo è il codice che ho finora.
'$(OutputPath)\\Tools')" />
Lo script di compilazione viene eseguito ma non copia nessuno dei file o delle cartelle.
Grazie
Stavo cercando aiuto anche su questo. Mi ci è voluto un po ‘, ma ecco cosa ho fatto che ha funzionato molto bene.
Questo ha ricorsivamente copiato il contenuto della cartella denominata antlrcs
in $(TargetDir)
.
Penso che il problema potrebbe essere nel modo in cui stai creando il tuo gruppo di oggetti e chiamando l’attività di copia. Guarda se questo ha senso:
..\SomeDestinationDirectory ..\SomeSourceDirectory
Sono un po ‘nuovo a MSBuild, ma trovo il task EXEC a portata di mano per situazioni come queste. Ho incontrato la stessa sfida nel mio progetto e questo ha funzionato per me ed è stato molto più semplice. Qualcuno, per favore, fammi sapere se non è una buona pratica.
..\SomeDestinationDirectory ..\SomeSourceDirectory
\**\*.*
aiuto per ottenere file da tutta la cartella. RecursiveDir aiuta a mettere tutto il file nella rispettiva cartella …
Hai provato a specificare la directory di destinazione concreta anziché
DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" ?
Non sono molto abile con la syntax avanzata di MSBuild, ma
@(Viewer->'$(OutputPath)\\Tools')
sembra strano per me. Lo script sembra buono, quindi il problema potrebbe essere nei valori di $(ApplicationDirectory)
e $(OutputPath)
MODIFICARE:
Ecco un post del blog che potrebbe essere utile:
Procedura: copiare ricorsivamente i file utilizzando l’attività
Personalmente ho fatto uso di CopyFolder che fa parte della libreria di attività di SDC.
Questo è il compito di copia che ho usato nel mio progetto, funzionava perfettamente per me che copia correttamente la cartella con le sottocartelle verso la destinazione:
Nel mio caso ho copiato la cartella di pubblicazione di un progetto in un’altra cartella di destinazione, penso che sia simile al tuo caso.