Конечно, это возможно. Мне кажется, что вам нужно MSBuild . У него уже есть много заданий по умолчанию , таких как копирование, удаление и т. Д. Также есть много сторонних задач для MSBuild, таких как SDCTasks или Задачи сообщества
Например, здесь один из различных способов развертывания веб-сайта (с использованием SDCTasks). В этом примере будут построены как решение для веб-сайта, так и решение для веб-служб, и в случае успеха они будут опубликованы на каком-либо удаленном сервере и должным образом сконфигурированы с помощью файлов конфигурации версии выпуска.
<Import Project="$(MSBuildExtensionsPath)\SDCTasks\Microsoft.Sdc.CommonWOBizTalk.tasks"/>
...
<ItemGroup>
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../website.sln">
<Targets></Targets>
<Properties></Properties>
</SolutionToBuild>
<SolutionToBuild Include="$(BuildProjectFolderPath)/../../services.sln">
<Targets></Targets>
<Properties></Properties>
</SolutionToBuild>
</ItemGroup>
<PropertyGroup>
<PublishFolder>\\myservername\deployto</PublishFolder>
</PropertyGroup>
<Target Name="AfterCompile" DependsOnTargets="PublishWebSite;PublishServices;SetConfiguration"/>
<Target Name="PublishWebSite">
<Folder.CleanFolder Path="$(PublishFolder)" Force="True" />
<Folder.CopyFolder Source="$(OutDir)_PublishedWebsites\MyWebSite" Destination="$(PublishFolder)" />
</Target>
<Target Name="PublishServices">
<MakeDir Directories="$(PublishFolder)\Services"/>
<Folder.CopyFolder Source="$(OutDir)_PublishedWebsites\MyService" Destination= "$(PublishFolder)\ Services" />
</Target>
<Target Name="SetConfiguration">
<Copy SourceFiles="$(OutDir)_PublishedWebsites\MyWebSite\WebRelease.config" DestinationFiles="$(PublishFolder)\web.config" />
<Copy SourceFiles="$(OutDir)_PublishedWebsites\MyService\WebRelease.config" DestinationFiles="$(PublishFolder)\Services\web.config" />
</Target>