web-dev-qa-db-fra.com

Désactivation de la création du fichier * .vshost.exe et de divers fichiers lors de la génération

J'ai trouvé les informations suivantes sur les fichiers "supplémentaires" de Microsoft Visual Studio:

Quel est le but du fichier vshost.exe?

Ma question est la suivante: existe-t-il un moyen de ne PAS pouvoir créer les fichiers .pdb, .manifest et vshost.exe? Ou sont-ils absolument nécessaires?

Je viens de remarquer qu'après le débogage, il apparaît toujours comme un processus en cours sur ma machine, ce qui m'inquiète depuis que je l'ai déjà fermé.

34
Paul Williams

Passez à la configuration Release. Ensuite, Project + Properties, onglet Debug, décochez l'option "Activer le processus d'hébergement Visual Studio". Build + Clean, vous pouvez supprimer tout ce qui reste et il ne reviendra pas. Le fait que cette option soit activée par défaut pour la version Release est, sans doute, un peu défectueux mais défendable.

Le processus d'hébergement est une version hébergée personnalisée du CLR. Ce qu'il fait n'est pas bien documenté, mais il est lié à la configuration des paramètres de sécurité de l'AppDomain principal. Je n'ai jamais entendu personne se plaindre de lutter contre des problèmes CAS sans cela, mais il est inhabituel de le désactiver et votre application fonctionne presque toujours en toute confiance lors du débogage à partir de l'IDE. Il serait important de créer un partage réseau sur les premières versions de .NET. La seule chose qui est évidente en le désactivant est que tout ce que vous écrivez avec Console.Write dans une application de style gui n'apparaîtra plus dans la fenêtre de sortie. Cela n'a rien à voir avec la vitesse, comme le prétend la réponse très positive du lien, les DLL du framework principal résident déjà dans RAM puisque VS et MSBuild les utilisent.

La meilleure chose à faire est de ne pas trop vous en soucier. Un projet de configuration et de déploiement l'ignorera.

60
Hans Passant

Concernant les fichiers vshost, au moins dans VS2010:

  • Ils ne sont pas générés lors de la génération, mais lors de la sélection de la configuration de la génération (elle sera générée dans la version lorsque nous sélectionnerons la version pour la première fois) et lors de la définition de "Activer le processus d'hébergement Visual Studio" sur true. (Comme le débogage de configuration et cette option définie sur true sont des valeurs par défaut, vshost.exe sera créé dans bin/debug à l'ouverture de VS avec le projet cible par défaut.)
  • Ils ne sont pas nettoyés lors de la reconstruction ou du nettoyage du projet, mais uniquement manuellement lorsque "Activer le processus d'hébergement Visual Studio" est faux si VS avec ce projet est ouvert. (Et il ne sera plus généré lors de l'ouverture de ce projet.)

Si cette option d'indicateur est vraie et que VS avec le projet cible est ouvert, ce fichier ne peut pas être supprimé car il est utilisé. Une fois décoché, vshost.exe peut être immédiatement supprimé.

Résumé: la génération et la suppression de ces fichiers ne sont pas liées au processus de génération.

En outre, je peux ajouter que l'option "Activer le processus d'hébergement Visual Studio" dans les projets référencés qui sont des bibliothèques de classes n'est pas prise en compte. Cette option n'est prise en compte que pour le projet cible qui génère un fichier exécutable.

1
Nemanja Avramovic