Je sais que cette question mentionne Visual Studio 2010
mais je suis ici pour trouver le même problème ...
J'utilise Visual Studio 2012
et a trouvé un bon moyen/élégant pour surmonter cette situation ennuyeux. Je pense que cela fonctionnera également dans VS 2010
et est mieux que d'ajouter des fichiers vides factices dans les dossiers vides.
Lorsque vous créez un profil de publication avec VS 2012
il va générer un fichier MyPublishProfile.pubxml
dans le dossier Properties\PublishProfiles
(My Project\PublishProfiles
pour VB). Ce sont des fichiers MSBuild
et on peut les éditer pour personnaliser le processus de publication. Dans notre cas, nous pouvons injecter une cible dans la publication processus, avant la publication se produit en fait comme ceci:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AfterAddIisSettingAndFileContentsToSourceManifest>CreateEmptyFolders
</AfterAddIisSettingAndFileContentsToSourceManifest>
</PropertyGroup>
<Target Name="CreateEmptyFolders">
<Message Text="Adding empty folder to hold Files" />
<MakeDir Directories="$(_MSDeployDirPath_FullPath)\Files\MyEmptyFolder"/>
</Target>
</Project>
La propriété AfterAddIisSettingAndFileContentsToSourceManifest
détient les noms des cibles qui seront invoquées après le contenu du package de déploiement a été préparé . C'est le moment idéal pour ajouter des fichiers ou des dossiers supplémentaires au package.
Code et texte mélangés de:
How to execute a PowerShell script only before a web deploy Publish task in VS 2012?
Web Deploy : Customizing a deployment package
merci - un bug frustrant .. – Adam
très frustrant ... – Baxter
cela fonctionne pour moi ... problème tout à fait bizarre .. :) merci encore –