2011-02-02 15 views
8

Używam celu _WPPCopyWebApplication MSBuild w skrypcie build-and-deploy CruiseControl.net, ale wygląda na to, że ten cel wyczyści pliki nie będące częścią projektu przed wdrożeniem - w szczególności Pliki App_Data (które dla tej aplikacji zawierają przesłane obrazy itp.).Jak zatrzymać MSBuild _WPPCopyWebApplication docelowe czyszczenie Folder App_Data

Z witryny Microsoft.Web.Publishing.targets;

<OnBefore_WPPCopyWebApplication> 
    $(OnBefore_WPPCopyWebApplication); 
    CleanWebProjectOutputDir; 
    PipelineTransformPhase; 
</OnBefore_WPPCopyWebApplication> 

Jak mogę zatrzymać to robiąc CleanWebProjectOutputDir, biorąc pod uwagę ten cel;

<Target Name="Deploy" DependsOnTargets="Tests"> 
    <MSBuild Projects="$(TargetPath)Website.csproj" Properties="Configuration=Debug;WebProjectOutputDir=\\servername\share;Outdir=$(ProjectDir)bin\;" Targets="ResolveReferences;_WPPCopyWebApplication" /> 
</Target> 

To jest z rozwiązania VS2010, aczkolwiek zbudowanego pod CC.Net; Zdaję sobie sprawę z MSDeploy, ale nie mam na to jeszcze czasu, więc wolałbym teraz pozostać przy MSBuild/_WPPCopyWebApplication.

EDIT:

Ja dodatkowo zawężony to do tej części tarczy;

<!-- 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)" /> 

Więc myślę, pojawia się pytanie, w jaki sposób można wyciszyć ten specyficzny Usuń zadanie, albo przynajmniej dodać App_Data ** z uwzględnieniem wyłączeń _AllExtraFilesUnderProjectOuputFolder?

Odpowiedz

9

Dodaj CleanWebProjectOutputDir=False do swoich właściwości:

<Target Name="Deploy" DependsOnTargets="Tests"> 
    <MSBuild Projects="$(TargetPath)Website.csproj" Properties="Configuration=Debug;CleanWebProjectOutputDir=False;WebProjectOutputDir=\\servername\share;Outdir=$(ProjectDir)bin\;" Targets="ResolveReferences;_WPPCopyWebApplication" /> 
</Target> 
+1

Mój Boże, szukałem na tym obiekcie od wieków, wiesz gdzie mogę znaleźć listę właściwości msbuild? –

Powiązane problemy