Ho un problema strano con il comportamento di msbuild con un progetto di distribuzione Web VS2008 e vorrei sapere perché sembra comportarsi in modo casuale.Come eliminare più file con il progetto di implementazione di msbuild/web?
Ho bisogno di rimuovere un numero di file da una cartella di distribuzione che dovrebbe esistere solo nel mio ambiente di sviluppo. I file sono stati generati dall'applicazione web durante dev/testing e non sono inclusi nel mio progetto/soluzione di Visual Studio.
La configurazione che sto usando è la seguente:
<!-- Partial extract from Microsoft Visual Studio 2008 Web Deployment Project -->
<ItemGroup>
<DeleteAfterBuild Include="$(OutputPath)data\errors\*.xml" /> <!-- Folder 1: 36 files -->
<DeleteAfterBuild Include="$(OutputPath)data\logos\*.*" /> <!-- Folder 2: 2 files -->
<DeleteAfterBuild Include="$(OutputPath)banners\*.*" /> <!-- Folder 3: 1 file -->
</ItemGroup>
<Target Name="AfterBuild">
<Message Text="------ AfterBuild process starting ------" Importance="high" />
<Delete Files="@(DeleteAfterBuild)">
<Output TaskParameter="DeletedFiles" PropertyName="deleted" />
</Delete>
<Message Text="DELETED FILES: $(deleted)" Importance="high" />
<Message Text="------ AfterBuild process complete ------" Importance="high" />
</Target>
Il problema che ho è che quando faccio una build/rebuild del progetto Web Deployment che "a volte" rimuove tutti i file ma altre volte non rimuoverà nulla! O rimuoverà solo una o due delle tre cartelle nel gruppo di articoli DeleteAfterBuild. Non sembra esserci coerenza quando il processo di compilazione decide di rimuovere i file o meno.
Quando ho modificato la configurazione per includere solo la cartella 1 (ad esempio), rimuove tutti i file correttamente. Quindi aggiungendo le cartelle 2 e 3, inizia a rimuovere tutti i file come voglio. Quindi, sembrando a caso, ricostruirò il progetto e non rimuoverò nessuno dei file!
Ho provato a spostare questi elementi nel gruppo di oggetti ExcludeFromBuild (che probabilmente è dove dovrebbe essere) ma mi dà lo stesso risultato imprevedibile.
Qualcuno ha provato questo? Sto facendo qualcosa di sbagliato? Perché succede?
+1 - Avevo lo stesso identico grattacapo. Questa è stata una risposta perfetta. Grazie! – spot