C# 记一次worker service 2186错误

285 阅读1分钟

起因

之前使用.net制作win服务的时候,选择的模板是win service
这样用没有什么问题,就是调试的时候比较麻烦
么要是前期作为控制台服务,后期在这个基础上修改为win服务,也比较繁琐
后来使用worker service用来作为系统服务,worker可以直接的作为控制台程序执行
又可以作为服务安装。非常的人性化。

2186 错误

image.png

当我编译完service后 ,安装服务过程一直显示2186错误。网上的帖子页搜了很多
很少关于work service的解释

经过查找,发现需要修改一个地方: program中

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseWindowsService()
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                });

添加usewindowsservice()这一句 需要安装Microsoft.Extensions.Hostining.service 的扩展包

问题解决

image.png