web-dev-qa-db-fra.com

Emplacement du service app.config du service Windows

J'ai installé un service Windows C # sur Windows Server 2008. Je l'ai installé avec InstallUtil. Le service lit certaines données du fichier app.config et le fait très bien. Pouvez-vous me dire où se trouve ce fichier après l'installation du service? Je cherchais depuis des heures mais je ne le trouve pas.

38
Mité

Vous pouvez vérifier l'emplacement exact du service Windows installé en procédant comme suit:

  1. Affichez la liste des services Windows en cliquant sur l'icône "Services" sous l'icône "Outils d'administration". Vous pouvez également obtenir cette liste en tapant "Afficher les services locaux" dans le menu Recherche du menu Démarrer.

  2. Sélectionnez votre service Windows dans la liste des services installés, cliquez avec le bouton droit de la souris, puis sélectionnez Propriétés. Vous pouvez également double-cliquer sur la ligne représentant le service.

  3. Recherchez la valeur "Chemin d'accès à l'exécutable" dans la boîte de dialogue Propriétés. La valeur inclura tous les paramètres de ligne de commande.

  4. Ouvrez le dossier dans lequel réside l'exécutable du service.

Si le service Windows a été créé avec .NET Framework, sa configuration sera stockée dans le fichier .config correspondant, c'est-à-dire le nom de l'exécutable suffixé par ".config", par exemple si le nom de l'exécutable est "XyzService. exe ", le nom du fichier .config sera alors" XyzService.exe.config ".

Quelques points à noter:

  • Si vous avez installé le service après l'avoir créé sur le même ordinateur en utilisant, par exemple, Visual Studio, Visual Studio aurait alors transformé le fichier App.config du projet et l'a placé automatiquement dans le dossier de sortie de la construction (et l'a renommé de manière appropriée en utilisant le nom ci-dessus). convention).

  • Si votre ordinateur est configuré pour masquer les extensions de fichier dans l'Explorateur Windows, vous verrez 2 fichiers "XyzService" et "XyzService.exe". Dans ce cas, le "XyzService.exe" est votre fichier de configuration. Si vous désactivez ensuite l'option permettant de masquer les extensions de fichier dans l'Explorateur Windows, vous commencerez alors à voir "XyzService.exe" et "XyzService.exe.config".

  • Si vous ne trouvez pas le fichier .exe.config correspondant, il est possible que le code du service retombe aux valeurs par défaut. Dans ce cas, vous pouvez placer un fichier de configuration correctement nommé et formaté à côté du fichier exécutable du service, puis redémarrer le service et tout devrait bien se passer.

56
Umar Farooq Khawaja

Selon Microsoft

Pour les exécutables clients, le fichier de configuration de l'application réside dans le même répertoire que l'exécutable de l'application et a le même nom de base comme exécutable avec une extension .config.

Notez que si votre fichier exe s'appelle appname.exe et que l’explorateur Windows est configuré pour masquer les extensions, votre application s’affichera sous le nom appname et votre fichier de configuration, puis appname.exe (même si le vrai nom est appname. exe.config)

Comme d'autres l'ont fait remarquer, InstallUtil ne fait rien avec le fichier de configuration et il aurait dû être copié sur le serveur de la même manière que l'exe.

4
sgmoore

Il s'agit du même emplacement que celui où vous avez enregistré le service en utilisant installutil tool.

3
Tilak

Le fichier App.config est probablement appelé {ProjectName}.exe.config étant donné qu'il s'agit d'un service Windows. Vérifiez si ce fichier existe et correspond à ce que vous recherchez.

2
Brandon

Le même endroit où votre application (service Windows) est.

Vérifiez-le, si ce n'est pas là placez-le dans le même répertoire que de service.

1
Kishore Kumar

Si vous avez un environnement en direct (et d'après votre question, vous avez tout à fait raison), vous pouvez vérifier ce qui se passe réellement à l'aide de l'utilitaire supérieur Process Monitor. Mais généralement, le fichier .config est situé juste à côté du fichier .exe et porte le même nom.

0
Michaelb