I got a VS project with a post-build event with a command-line command that copies a file (.dll) to the bin target dir (debug or release). When I do a "Clean" on the project every thing is cleaned, but this file remains. Is there a way to ad post-clean events so I can delete this file also?
You can edit the project file directly and add the target to the end of the file. BeforeClean
and AfterClean
are targets as explained here:
https://learn.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process?view=vs-2019
You should be able to put a Delete task in the target.
EDIT Just tested this (right-click project -> unload -> right click -> edit) and the following target is what you need:
<Target Name="AfterClean">
<Delete Files="$(TargetDir)\*.txt" />
</Target>
This works when you clean the project but not the solution - it works but not 100%.
Hat tip to @scrat789 regarding AfterTargets.
For VS 2017, v15.6.0 Preview 2.0, I ended up with the following:
<Target Name="MyDistClean" AfterTargets="Clean">
<Message Text="Deleting wwwroot\dist files" Importance="high" />
<Delete Files="$(ProjectDir)\wwwroot\dist\*.*" ContinueOnError="true" />
</Target>
A few things:
Here's the task improved to obliterate the webpack dist directory upon Clean:
<Target Name="MyDistClean" AfterTargets="Clean">
<ItemGroup>
<DistDir Include="$(ProjectDir)wwwroot\dist" />
</ItemGroup>
<Message Text="Deleting @(DistDir)" Importance="high" />
<RemoveDir Directories="@(DistDir)" />
</Target>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With