web-dev-qa-db-fra.com

Comment exclure des dossiers de la publication / du déploiement de l'application Web Visual Studio 2013

Je publie une application Web à partir de Visual Studio 2013. J'ai besoin d'inclure des dossiers qui ne font pas partie du projet et d'exclure certains dossiers (certains en dehors du projet, d'autres en dehors du projet). Je suis donc allé dans les propriétés de mon projet et défini Items To Deploy champ à All files in this project folder comme vous pouvez le voir ci-dessous:

enter image description here

Puis j'ai commencé à chercher un moyen d'exclure des dossiers de All files in this project folder. J'ai trouvé cette page, qui indique spécifiquement

L'interface utilisateur de Visual Studio n'expose pas tous les paramètres de déploiement que vous pouvez configurer. Par exemple, vous ne pouvez pas utiliser l'interface utilisateur pour exclure un dossier individuel du déploiement. Cependant, vous pouvez le faire en modifiant les fichiers qui stockent les paramètres de configuration. Pour chaque profil de publication, il existe un fichier .pubxml que vous pouvez modifier directement.

Cette page renvoie à une autre qui explique comment modifier le fichier, mais n'explique pas comment exclure des dossiers spécifiques.

J'ai trouvé d'autres sites ( celui-ci inclus) qui expliquaient comment exclure des dossiers dans les anciennes versions de Visual Studio en utilisant la balise suivante dans le fichier csproj:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
  ... 
  <ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment> 
  <ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment> 
</PropertyGroup>

Mais il semble que les éléments XML du fichier csproj ne soient plus pertinents dans VS2013. J'ai lu quelque part (je ne me souviens plus où maintenant) une suggestion que cet élément avait été déplacé vers le [PublishProfileName].pubxml fichier, mais cela n'a pas fonctionné.

Je suis sûr qu'il existe un moyen de le faire dans Visual Studio 2013, mais pour la vie de moi, je ne peux pas comprendre comment. J'ai trouvé des dizaines de questions connexes ici sur Stackoverflow, ainsi que sur d'autres forums, mais aucune des solutions ne fonctionne pour moi dans VS2013. Toute aide est très appréciée.

15
Trevor

Ces éléments ont en effet été déplacés vers le fichier .pubxml dans Visual Studio 2012 et versions ultérieures. Voici la documentation pertinente dans MSDN sur l'exclusion des fichiers et des dossiers du déploiement.

Recherchez le fichier .pubxml approprié sous Propriétés/Profils de publication dans l'Explorateur de solutions Visual Studio et ajoutez un nouvel élément ExcludeFilesFromDeployment ou ExcludeFoldersFromDeployment sous l'élément PropertyGroup répertoriant les fichiers ou dossiers à exclure, délimité par un point-virgule.

Je note que ces éléments n'apparaissaient pas en tant qu'options dans la sélection IntelliSense lorsque je les ai saisis dans Visual Studio 2015 - mais le projet compilé et l'exclusion fonctionnait toujours.

23
John Trenwith