Я использую цель _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.
РЕДАКТИРОВАТЬ:
Я еще больше сузилсяэто к этой части цели;
<!-- 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?