Puede añadir a su VS .sln archivo de destino especial llamado digamos BuildCustomAction.csproj:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
</PropertyGroup>
<ItemGroup>
<CleanOutCatalogFiles Include="..\..\bin\$(Configuration)\**\*.dll">
<Visible>false</Visible>
</CleanOutCatalogFiles>
<CleanOutCatalogFiles Include="..\..\bin\$(Configuration)\**\*.exe">
<Visible>false</Visible>
</CleanOutCatalogFiles>
</ItemGroup>
<Target Name="Build">
</Target>
<Target Name="Rebuild"
DependsOnTargets="Clean;Build">
</Target>
<Target Name="Clean"
Condition="'@(CleanOutCatalogFiles)'!=''">
<Message Text="Cleaning Output Dlls and EXEs" Importance="high" />
<Delete Files="@(CleanOutCatalogFiles)" />
</Target>
</Project>
lugar en todas partes que desee y especifique relativa ruta al catálogo de salida para los binarios. Agregar en VS este proyecto como existente. Eso es todo. Con esto puede hacer sus propias acciones personalizadas para tres acciones comunes en VS: compilación, Reconstruir, Limpiar.
Existe manera más compleja de personalizar proceso de construcción utilizando CustomBeforeMicrosoftCommonTargets y CustomAfterMicrosoftCommonTargets pero requiere ser muy bueno en MSBuild.
Espero que esto ayude.
+1 para esto. Solo asegúrese de agregar los destinos BeforeClean o AfterClean después del archivo Importar Microsoft.CSharp.Targets o redefinirá sus objetivos personalizados BeforeBuild/AfterBuild con los destinos vacíos predeterminados. –
Respuesta remezclada a: ' ' –
Jeroen