VS 中创建并安装.NET Framework Windows 服务教程

Windows 服务(Windows Service)是可以在后台长期运行的应用程序,以下是基于 Visual Studio 创建并安装.NET Framework 版本 Windows 服务的完整步骤:
一、创建 Windows 服务项目

复制代码
打开 Visual Studio(建议使用 2019/2022 版本),新建项目,搜索并选择「Windows 服务(.NET Framework)」模板,确认.NET Framework 版本(推荐 4.6 及以上)后创建项目。
项目创建完成后,会自动生成一个服务类文件(默认名称如Service1.cs),右键该文件选择「查看代码」,进入代码编辑界面。
该类中默认包含两个核心事件方法:
    OnStart:服务启动时触发,可在此编写服务运行的核心业务逻辑(如定时任务、监听端口等);
    OnStop:服务停止时触发,可在此编写资源释放逻辑(如关闭数据库连接、停止线程等)。

二、编译并安装服务

复制代码
编写完业务逻辑后,右键项目选择「生成」(或按 F6),生成完成后找到编译输出路径:
    调试模式(Debug):项目目录 \bin\Debug;
    发布模式(Release):项目目录 \bin\Release(生产环境建议用此模式)。
以管理员身份打开 CMD 命令提示符(关键!普通权限会导致安装失败),导航到编译输出路径:
bash
运行

# 示例路径,替换为你的实际路径
cd /d D:\Test\Test.Host\bin\Debug

执行安装命令(需匹配.NET Framework 版本和系统位数):
bash
运行

# 64位系统 + .NET Framework 4.x
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe TestService.exe

# 32位系统 + .NET Framework 4.x(若适用)
# C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe TestService.exe

安装成功后,打开 Windows 服务管理器验证:
    方式 1:按下Win + R,输入services.msc回车;
    方式 2:控制面板 → 管理工具 → 服务。
    在服务列表中即可找到你安装的服务(默认名称为项目中设置的服务名),可手动启动 / 停止服务。

三、补充实用说明

复制代码
卸载服务:若想卸载服务,先执行卸载命令:
bash
运行

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /u TestService.exe

更新服务:先停止你的服务运行,然后在vs中去重新编译,最后在服务中重启启动即可,不需要卸载服务后重新安装;

服务命名:建议在创建服务时修改默认服务名(在服务类的设计视图中,右键→属性,设置「ServiceName」),避免与系统服务重名。
调试技巧:直接安装服务调试不便,可在Main方法中临时添加控制台输出逻辑,先以控制台程序运行调试,确认逻辑无误后再安装为服务。

总结

复制代码
核心关键点:编写 Windows 服务的业务逻辑需放在OnStart/OnStop方法中,这是服务启动 / 停止的入口;
安装必备条件:必须以管理员身份运行 CMD,否则会因权限不足导致安装失败;
路径注意事项:InstallUtil.exe的路径需匹配系统位数(Framework/Framework64)和.NET Framework 版本,避免路径错误。

关键点回顾

复制代码
编辑服务逻辑的核心是重写OnStart(启动)和OnStop(停止)方法;
安装服务时 CMD 必须以管理员身份运行,且需使用对应版本的InstallUtil.exe;
记得通过services.msc验证服务安装结果,卸载服务需加/u参数。
相关推荐
江畔柳前堤5 小时前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程
天天进步201510 小时前
UI-TARS 源码解析 #22:二次开发实战:用 UI-TARS 做一个简单的 Windows 自动操作 Agent
windows·ui
啊哈一半醒10 小时前
Windows 虚拟机搭建 CentOS 全过程(2026 最新版 + 踩坑解决)
linux·windows·centos
new_zhou10 小时前
C++ 项目 AI 协作指南(Windows / MSVC 环境)
c++·人工智能·windows
爬楼的猪13 小时前
跟着AI Agent学powershell
windows·ai编程
笨鸟先飞,勤能补拙13 小时前
网络安全等级保护 2.0:从定级备案、建设整改到持续合规的系统指南
网络·人工智能·windows·安全·web安全·网络安全·github
yagami_gagami14 小时前
2026平航杯内存取证(StarMem)
windows·网络安全
MyBili15 小时前
游戏报错缺少dll、无法启动?GRLPackage 运行库合集一键修复指南
游戏·.net·directx·运行库·xna·openal·vc++ redis
慧都小妮子15 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
Patrick在香港16 小时前
Claude API + Python:香港MPF基金回报率自动化分析框架
windows·python·数据分析·自动化·github·ai编程·数据可视化