Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Quando si utilizzano elenchi di elementi in Microsoft Build Engine (MSBuild), può risultare utile visualizzarne i contenuti in modo da agevolare la lettura. Potrebbe inoltre essere presente un'attività che dispone di un elenco di elementi separati da una speciale stringa di separazione. In entrambi i casi, per tali elenchi è possibile specificare una stringa di separazione.
Separazione degli elementi di un elenco con un punto e virgola
Per impostazione predefinita, MSBuild utilizza punti e virgole per separare gli elementi di un elenco. Si consideri, ad esempio, un elemento Message con il valore seguente:
<Message Text="This is my list of TXT files: @(TXTFile)"/>
Se l'elenco di elementi @(TXTFile) contiene gli elementi App1.txt, App2.txt e App3.txt, il messaggio sarà:
This is my list of TXT files: App1.txt;App2.txt;App3.txt
Per separare gli elementi con un punto e virgola
Utilizzare una notazione di elemento simile alla seguente:
@(TXTFile)
Specifica di un separatore personalizzato
Se si desidera modificare il comportamento predefinito, è possibile specificare un separatore personalizzato. La sintassi utilizzata per specificare il separatore di un elenco di elementi è la seguente:
@(ItemListName, '<separator>')
Il separatore può essere un unico carattere o una stringa e deve essere racchiuso tra virgolette singole.
Per inserire una virgola e uno spazio tra gli elementi
Utilizzare una notazione di elemento simile alla seguente:
@(TXTFile, ', ')
Esempio
In questo esempio l'attività Exec esegue lo strumento findstr per individuare nel file Phrases.txt le stringhe di testo specificate. Nel comando findstr le stringhe di ricerca letterali sono indicate dall'opzione /c:, in modo che il separatore di elementi /c: venga inserito tra gli elementi dell'elenco @(Phrase).
In questo caso il comando della riga di comando equivalente è il seguente:
findstr /i /c:hello /c:world /c:msbuild phrases.txt
<Project DefaultTargets = "Find"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >
<ItemGroup>
<Phrase Include="hello"/>
<Phrase Include="world"/>
<Phrase Include="msbuild"/>
</ItemGroup>
<Target Name = "Find">
<!-- Find some strings in a file -->
<Exec Command="findstr /i /c:@(Phrase, ' /c:') phrases.txt"/>
</Target>
</Project>