Я использую цель _WPPCopyWebApplication MSBuild в сценарии сборки и развертывания CruiseControl.net, но похоже, что эта цель очищает файлы, не входившие в проект до развертывания, в частности файлы App_Data (которые для этого приложения включают загруженные изображения и т. д.).
Из Microsoft.Web.Publishing.targets;
<OnBefore_WPPCopyWebApplication>
$(OnBefore_WPPCopyWebApplication);
CleanWebProjectOutputDir;
PipelineTransformPhase;
</OnBefore_WPPCopyWebApplication>
Как я могу остановить выполнение CleanWebProjectOutputDir с учетом этой цели;
<Target Name="Deploy" DependsOnTargets="Tests">
<MSBuild Projects="$(TargetPath)Website.csproj" Properties="Configuration=Debug;WebProjectOutputDir=\\servername\share;Outdir=$(ProjectDir)bin\;" Targets="ResolveReferences;_WPPCopyWebApplication" />
</Target>
Это решение VS2010, хотя и построенное под CC.Net; Я знаю о MSDeploy, но еще не очень хорошо разбираюсь в этом, поэтому предпочел бы пока придерживаться MSBuild / _WPPCopyWebApplication.
РЕДАКТИРОВАТЬ:
Я еще больше сузил это до этой части target;
<!-- In the case of the incremental Packaging/Publish, we need to find out the extra file and delee them-->
<ItemGroup>
<_AllExtraFilesUnderProjectOuputFolder Include="$(WebProjectOutputDir)\**" />
<_AllExtraFilesUnderProjectOuputFolder Remove="@(FilesForPackagingFromProject->'$(WebProjectOutputDir)\%(DestinationRelativePath)')" />
</ItemGroup>
<!--Remove all extra files in the temp folder that's not in the @(FilesForPackagingFromProject-->
<Delete Files="@(_AllExtraFilesUnderProjectOuputFolder)" />
Итак, я думаю, вопрос в следующем: как я могу подавить эту конкретную задачу удаления или хотя бы добавить App_Data ** в исключения _AllExtraFilesUnderProjectOuputFolder?