Per coloro che hanno problemi con la risposta di Chris , questa è la soluzione per Visual Studio 2012 e versioni successive:
<Target Name="ContentsBeforeBuild" AfterTargets="BeforeBuild">
<ItemGroup>
<Content Include="images\**" />
</ItemGroup>
</Target>
Come ha menzionato Chris nella sua risposta, Visual Studio non toccherà questa <Target>
sezione, anche se giocherelli manualmente (aggiungendo / rimuovendo file) con la directory di destinazione.
Nota che dovresti includere una sottodirectory in cui si trovano i file (nel caso sopra, è images
). Visual Studio / MSBuild inserirà questi file nella stessa directory all'interno della struttura del progetto. Se non utilizzi una sottodirectory, i file verranno posizionati alla radice della struttura del progetto.
Per una rapida spiegazione dei caratteri jolly:
**
significa tutto in modo ricorsivo (file, sottodirectory e file al loro interno)
*.ext
includerà tutti i file con estensione ext
all'interno della directory di primo livello, ma non le sottodirectory
- Ad esempio,
*.ext
potrebbe essere *.png
, *.js
ecc Qualsiasi estensione del file funzionerà
**\*.ext
includerà tutti i file con estensione ext
dalla directory di primo livello e tutte le sottodirectory.
- Vedere la risposta in Come si utilizzano i modelli di denominazione Nant / Ant? per una spiegazione più completa con esempi.
Per il completamento, tieni presente che c'è una differenza tra l'utilizzo <Target>
e il non utilizzo.
Con l' <Target>
approccio, Visual Studio non mostrerà i file all'interno di Esplora soluzioni.
<Target Name="ContentsBeforeBuild" AfterTargets="BeforeBuild">
<ItemGroup>
<Content Include="images\**" />
</ItemGroup>
</Target>
Il mancato <Target>
approccio indicherà a Visual Studio di mostrare i file all'interno di Esplora soluzioni. Lo svantaggio di questo è che qualsiasi manipolazione delle directory automatiche farà sì che Visual Studio sovrascriva la voce jolly. Va inoltre notato che l'approccio seguente aggiornerà Esplora soluzioni solo all'apertura della soluzione / progetto in VS. Anche il pulsante "Aggiorna" della barra degli strumenti di Esplora soluzioni non lo farà.
<ItemGroup>
<Content Include="images\**" />
</ItemGroup>