2009-06-22 6 views
2

Pourquoi mon projet de déploiement Web, lorsqu'il est compilé, crée-t-il un fichier projet Visual Studio et un tas d'autres fichiers indésirables/inutiles dans les dossiers release et debug?Pourquoi un projet de déploiement Web Visual Studio 2008 crée-t-il des fichiers indésirables?

Les fichiers de débogage sont également inclus même si l'option "Générer des informations de débogage" est décochée en mode édition.

Je reçois également un dossier obj qui contient un autre ensemble de dossiers de débogage et de relâchement qui semblent hors de propos.

En bref, il crée beaucoup de fichiers non-version. J'utilise un projet ASP.NET MVC, mais je ne pense pas que cela devrait faire la différence.

+0

Pourquoi est-il un fichier de projet Visual Studio (.csproj) dans le dossier de sortie et quel est le but de cela? Est-il possible d'obtenir une sortie propre en mode release afin de pouvoir copier le contenu directement dans un répertoire virtuel? – Aaron

Répondre

6

Par défaut, Visual Studio génère des fichiers PDB en mode de débogage et de publication. La différence est qu'en mode de débogage, la table de symboles entière est chargée tandis qu'en mode de libération, seuls les symboles de clé sont chargés.

Vous pouvez désactiver complètement la génération de PDB en mode de publication en définissant l'option Générer les informations de débogage dans les options de compilation avancées sur Aucune.

Si vous voulez avoir un propre dossier de sortie vous pouvez ajouter ce qui suit ItemGroup à votre dossier de projet de déploiement Web (.wdproj):

<ItemGroup> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\obj\**\*.*" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.csproj" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.scc" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.user" /> 
    <ExcludeFromBuild Include="$(SourceWebPhysicalPath)\**\*.vspscc" /> 
</ItemGroup> 
Questions connexes