J'ai un projet Visual Studio 2008 C # / .NET 3.5 avec une tâche de post-génération pour compresser le contenu. Cependant, je trouve que je reçois également les fichiers .pdb (débogage) et .xml (documentation) des assemblys référencés dans mon répertoire de sortie (et ZIP).
Par exemple, si MyProject.csproj fait référence à YourAssembly.dll et qu'il y a des fichiers YourAssembly.xml et YourAssembly.pdb dans le même répertoire que la DLL, ils apparaîtront dans mon répertoire de sortie (et ZIP).
Je peux exclure * .pdb lors du ZIP mais je ne peux pas exclure les fichiers * .xml car j'ai des fichiers de déploiement avec la même extension.
Existe-t-il un moyen d'empêcher le projet de copier les fichiers PDB et XML d'assembly référencés?
la source
Je voulais pouvoir ajouter et supprimer des assemblys référencés dans mon application principale tout en évitant de devoir conserver les fichiers que je devais supprimer ou exclure.
J'ai fouillé à la
Microsoft.Common.targets
recherche de quelque chose qui fonctionnerait et j'ai trouvé laAllowedReferenceRelatedFileExtensions
propriété. Par défaut.pdb; .xml
, je l'ai défini explicitement dans mon fichier de projet. Le hic, c'est que vous avez besoin de quelque chose (les espaces ne sont pas suffisants) sinon il utilisera toujours la valeur par défaut.la source
Vous pouvez ajouter une commande d'événement Post Build similaire à
del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"
la source
C'est une question plutôt ancienne, mais comme il n'y a pas de réponse sur la façon de désactiver la génération de fichiers PDB et XML via l'interface utilisateur, j'ai pensé qu'elle devrait être ici pour être complète.
Dans Visual Studio 2013: dans les propriétés du projet, sous l'onglet de compilation, décochez «Générer un fichier de documentation XML», puis cliquez sur «Options de compilation avancées» ci-dessous et modifiez «Générer les informations de débogage» sur «Aucune», et cela fera l'affaire.
la source
pdb
et lesxml
fichiers.Ma réponse est peut-être triviale maintenant, mais j'aimerais partager le script BAT que j'utilise pour supprimer les fichiers xml s'il existe une DLL correspondante. C'est utile si vous souhaitez simplement nettoyer le dossier de sortie et que d'autres fichiers xml ne veulent pas être supprimés.
Usage:
Il m'a fallu une heure pour terminer ce travail simple (grâce au truc de "l'expansion retardée") avec tout type de recherche ici et là. J'espère que cela aidera d'autres débutants BAT comme moi.
la source
Je n'ai pas eu beaucoup de chance avec les autres réponses, j'ai finalement compris comment faire cela dans mon implémentation en utilisant la commande intégrée "Supprimer" , apparemment il y a une manière spécifique dont vous avez besoin pour implémenter les jokers , c'est un peu nuancé , voici tout ce dont vous avez besoin pour être mis dans votre "CSPROJ" ( TargetDir est une variable intégrée, incluse automatiquement) sous la balise "Projet":
J'ai également eu des problèmes avec la génération de divers dossiers spécifiques à une langue.Si vous rencontrez également ce problème, vous pouvez également supprimer les dossiers spécifiques à une langue inutilisés. J'ai choisi de déclencher ceci uniquement sous le type de build "Release":
la source
Si vous souhaitez uniquement exclure les fichiers XML (par exemple une version de débogage), vous pouvez faire quelque chose comme ceci:
Fondamentalement, chaque extension (délimitée par un point-virgule) répertoriée sera exclue.
la source