57 votes

Faire en sorte que MSDeploy (Visual Studio) ne supprime pas le dossier App_Data mais supprime tout le reste.

J'utilise l'outil de Visual Studio Publish pour déployer mon site web, et je veux un dossier App_Data différent sur le serveur. Il y a une case à cocher pour Leave extra files on destination (do not delete) ce qui empêche mon dossier App_Data d'être supprimé, mais il finira par accumuler beaucoup de fichiers vestigiaux au fur et à mesure que le site web change.

Y a-t-il un moyen de faire en sorte qu'il exclue seulement App_Data quand il supprime tout ?

0voto

Brett Lalonde Points 26

Ce n'est pas idéal, car vous risquez de copier beaucoup de fichiers en faisant cela (ce n'est pas mon cas), mais voici ma solution pour sauvegarder un dossier. Adaptée pour déplacer le dossier vers l'emplacement à partir duquel il sera publié, pendant le processus de publication. Mettez ceci dans votre fichier pubxml :

<Project>
...
<Target Name="PreserveSelectedFolder" AfterTargets="GatherAllFilesToPublish">
   <ItemGroup>
     <SITEDIR Include="$(publishUrl)\App_Data\**\*.*" />
   </ItemGroup>
   <Copy SourceFiles="@(SITEDIR)" 
      DestinationFolder="$(ProjectDir)\obj\$(Configuration)\Package\PackageTmp\%(RecursiveDir)"></Copy>
</Target>
</Project>

Et si vous voulez juste faire un nombre quelconque de fichiers spécifiques connus, faites un bloc de copie par fichier :

<Target Name="PreserveSelectedFiles" AfterTargets="GatherAllFilesToPublish"  >
    <Copy SourceFiles="$(publishUrl)\MYFILENAME.EXT" 
      DestinationFolder="$(ProjectDir)\obj\$(Configuration)\Package\PackageTmp\" 
      Condition="Exists('$(publishUrl)\MYFILENAME.EXT')"></Copy>
</Target>

0voto

pipll Points 11

Mettez ceci dans votre fichier pubxml :

<ExcludeApp_Data>True</ExcludeApp_Data>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X