Подключение к услуге должно работать, поэтому я не уверен, почему вы не можете. Вместо этого вставьте следующую строку в точку входа приложения для службы Windows (или метода OnStart ()), скомпилируйте в режиме отладки и запустите службу.
System.Diagnostics.Debugger.Break();
При запуске службы вам будет предложено отладить процесс. Выберите отладчик Visual Studio 2008, и процесс загрузится и остановится на вашей программной точке останова. Нажмите F5, чтобы начать снова.
EDIT:
Допустим, вы создали службу (режим выпуска или режим отладки - это не имеет значения) и использовали installutil для установки службы, но вы еще не запустили ее. Пока служба не работает, вы можете продолжать вносить изменения в код и перекомпилировать. Когда вы запускаете сервис, ваш сервис будет отражать ваши последние изменения кода. Если служба работает , вы не сможете полностью скомпилировать службу, поскольку exe / dll (s) используются и не могут быть заменены. Очевидно, что просто остановите службу, перекомпилируйте, а затем перезапустите службу. Дело в следующем: Вам не нужно удалять службу, чтобы изменить код. Просто остановите ее, измените код, перекомпилируйте и перезапустите.
Что касается отладки в режиме отладки или выпуска, я не знаю, поэтому ли вы не можете присоединиться к процессу. Я знаю, что можно отлаживать релизные версии, но я бы не рекомендовал это просто потому, что, если оптимизация включена, у вас могут возникнуть проблемы с обходом кода. Мы использовали только отладку в режиме выпуска в качестве крайней меры.
По умолчанию, когда вы создаете приложение Visual Studio в режиме отладки, оно помещается в подкаталог bin \ Debug вашего проекта. При сборке в режиме выпуска исполняемый файл помещается в подкаталог bin \ Release. Когда вы используете installutil для установки вашего сервиса, единственное, что имеет значение, это где находится сервис. В вашем случае я бы предложил удалить версию службы в режиме выпуска (installutil /u c:\myapp\myapp\bin\release\myapp.exe
), установить программную точку останова, создать отладочную версию и затем использовать installutil для установки отладочной версии (из bin \ Debug каталог).
Извините, это было многословно. Надеюсь, это понятно.