Topshelf C# Windows 服务 - 无法通过 HostControl

Topshelf C# Windows Service - Cannot pass HostControl

我正在尝试将 HostControl 实例传递给 topshelf 服务的启动方法,但出现以下编译器错误:

我已经为 EventBroker class 实现了接口 'ServiceControl'。

using Topshelf;
namespace Sample
{
  class Program
  {
    static void Main(string[] args)
    {
        HostFactory.Run(x =>
        {
            x.Service<EventBroker>(s =>
            {
                s.ConstructUsing(name => new EventBroker());
                s.WhenStarted((tc, hostControl) => tc.Start(hostControl));
                s.WhenStopped(tc => tc.Stop());
            });
            x.RunAsLocalSystem();

我是否遗漏了一些程序集参考或其他内容?我正在使用 TopShelf v3.3.154.0。没有 'hostControl' 它工作正常。

在排除故障后,我发现 'ServiceControl' 没有正确执行。 EventBroker 的 Stop/Start 方法没有 return 类型 (bool)。

现在,使用以下 Stop/Start 方法,它正在工作。

    bool Start(HostControl hostControl)
    {
        return true;
    }

    bool Stop(HostControl hostControl)
    {
        return true;
    }