Подтвердить что ты не робот

Расположение службы Windows app.config

Я установил службу Windows С# на Windows Server 2008. Я установил ее с помощью InstallUtil. Служба считывает некоторые данные из файла app.config, и все делается отлично. Можете ли вы сказать, где находится этот файл после установки службы? Я искал часы, но не могу их найти.

4b9b3361

Ответ 1

Вы можете проверить точное местоположение установленной службы Windows, выполнив следующие шаги:

  • Поднимите список служб Windows, щелкнув значок "Службы" в значке "Администрирование". Вы также можете получить этот список, введя "Просмотреть локальные службы" в меню поиска в меню "Пуск".

  • Выберите службу Windows в списке установленных сервисов, щелкните правой кнопкой мыши и выберите "Свойства". Вы также можете дважды щелкнуть строку, представляющую службу.

  • Найдите значение "Путь к исполняемому" в диалоговом окне "Свойства". Значение будет включать в себя любые параметры командной строки.

  • Откройте папку, в которой находится исполняемый файл службы.

Если служба Windows была построена с использованием .NET Framework, ее конфигурация будет храниться в соответствующем файле .config, то есть имя исполняемого файла, помеченного как ".config", например, если имя исполняемого файла "XyzService.exe", тогда имя файла .config будет "XyzService.exe.config".

Несколько замечаний:

  • Если вы установили службу после ее создания на том же компьютере, используя, скажем, Visual Studio, Visual Studio изменила бы файл App.config из проекта и автоматически разместила его в папке вывода сборки (и переименовала он соответствующим образом использует вышеупомянутое соглашение об именах).

  • Если на вашем компьютере установлено скрытие расширений файлов в Проводнике Windows, вы увидите 2 файла "XyzService" и "XyzService.exe". В этом случае "XyzService.exe" является вашим конфигурационным файлом. Если вы затем отключите опцию для скрытия расширений файлов в проводнике Windows, вы начнете видеть "XyzService.exe" и "XyzService.exe.config".

  • Если вы не можете найти соответствующий файл .exe.config, возможно, что код внутри службы возвращается к значениям по умолчанию. В этом случае вы можете поместить правильно названный и отформатированный файл конфигурации вместе с исполняемым файлом службы, а затем перезапустить службу, и все должно быть хорошо.

Ответ 2

Это то же место, где вы зарегистрировали услугу, используя installutil.

Ответ 3

Согласно Microsoft

Для исполняемых файлов клиента файл конфигурации приложения находится в тот же каталог, что и исполняемый файл приложения, и имеет тот же базовое имя в качестве исполняемого файла с расширением .config.

Обратите внимание: если ваш exe называется appname.exe, и у вас установлен проводник Windows, чтобы скрыть расширения, ваше приложение будет отображаться как имя приложения и ваш файл конфигурации, тогда он будет отображаться как appname.exe(хотя истинное имя это appname.exe.config)

Как указывали другие, InstallUtil ничего не делает с конфигурационным файлом, и он должен был скопировать на сервер так же, как сам exe.

Ответ 4

App.config, скорее всего, называется {ProjectName}.exe.config с учетом того, что это служба Windows. Проверьте, существует ли этот файл и что вы ищете.

Ответ 5

То же место, где ваше приложение (служба Windows).

Проверьте это, если он не размещен в том же каталоге, что и в службе.

Ответ 6

Если у вас есть живая среда (и из вашего вопроса, похоже, вы это делаете), вы можете проверить, что на самом деле происходит, используя служебную программу Process Monitor. Но обычно файл .config находится рядом с файлом .exe и называется тем же.