Natürlich ist es möglich. Ich denke, Sie brauchen MSBuild. Es haben bereits eine lot default tasks wie Kopieren, Löschen usw. auch eine Menge Aufgaben eines unabhängigen Dritten für MSBuild wie SDCTasks oder Community Tasks
Zum Beispiel hier die eine von verschiedenen Möglichkeiten, es gibt Web-Site zu implementieren (mit SDCTasks). In diesem Beispiel werden sowohl die Website-Lösung als auch die Web-Service-Lösung aufgebaut und im Erfolgsfall werden sie auf einem Remote-Server veröffentlicht und mit Konfigurationsdateien der Release-Version ordnungsgemäß konfiguriert.
<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>