2010-03-08 14 views
20

Estoy tratando de cargar una lista de nombres de archivo de un archivo de texto y luego ejecutar una tarea Exec para cada entrada recuperada del archivo de texto.MsBuild ejecuta Exec para cada elemento en una lista

así que tengo un archivo, vamos a llamarlo Unarchivo.txt que contiene lo siguiente:

FileA.file 
FileB.file 
FileC.file 

El código MSBUILD que tengo para esto se parece a esto (que no funciona :)

<Target Name="runScripts"> 

    <ItemGroup> 
     <scriptsFile Include="SomeFile.txt" /> 
    </ItemGroup>   

    <ReadLinesFromFile File="@(scriptsFile)"> 
     <Output TaskParameter="Lines" ItemName="scriptItems" /> 
    </ReadLinesFromFile> 

    <Message Text="Running Exec for each entry..." />   
    <Exec Command="$(someCommand) %(scriptItems)" /> 

</Target> 

Esto me da un error al decir que necesito especificar un nombre de elemento, pero si uso algo como% (scriptItems.item) o% (itemname.scriptItems) MsBuild simplemente pone un espacio en blanco en lugar de% (scriptItems).

Respuesta

29

Ok, lo he descubierto

sólo tendrá que utilizar

% (scriptItems.Identity)

Cuestiones relacionadas