与TopShelf工作,我运行到围绕一个错误“Topshelf.HostConfigurators.

2019-09-28 16:48发布

构建Windows服务时,有没有人有经验TopShelf?

我一直运行到这个错误试图启动服务时,

“Topshelf.HostConfigurators.WindowsServiceDescription服务尚未安装呢。”

构建,安装,安装,所有这些步骤都完成和服务在服务列表中出现的Windows服务器,但是当我点击的服务,并尝试启动它,这会抛出异常。 完整的错误消息如下所示。

INFO 10时23分08秒开始了作为Topshelf.HostConfigurators.WindowsServiceDescription服务已经没有尚未安装一个应用程序WINSERVICE FATAL 10时23分08秒。 请运行 'RIS.ModelGenerator.Scheduler,版本= 1.0.0.0,文化=中立,公钥=空装'。 错误10时23分08秒的服务与例外Topshelf.Exceptions.ConfigurationException异常退出:本Topshelf.HostConfigurators.WindowsServiceDescription服务已经没有尚未安装。 请运行 'RIS.ModelGenerator.Scheduler,版本= 1.0.0.0,文化=中立,公钥=空装'。 在Topshelf.Windows.WindowsServiceHost.Run()在d:\ BuildAgent-01 \工作\ 799c08e77fef999d的\ src \ Topshelf \ OS \的Windows \ WindowsServiceHost.cs:在Topshelf.HostFactory.Run(Action`1配置)在d线56 :\ BuildAgent-01 \工作\ 799c08e77fef999d的\ src \ Topshelf \ CONFIG \ HostFactory.cs:45行

Answer 1:

问题是最有可能的,你有你的服务的名称空间。 无论出于何种原因,Topshelf 2.2.2.0不正确的搜索服务名称中带有空格,即使该服务可能与空间,即“我的服务”进行安装。 当检查服务TopShelf搜索,如果它的安装,它只会找“我”。

这里有一个片段,你可以用它来查看安装在您的箱服务:

using System;
using System.Linq;

public class Foo
{
    public static void Main()
    {
        foreach(var x in System.ServiceProcess.ServiceController.GetServices().OrderBy(x => x.ServiceName))
        {
            Console.WriteLine("Service Name: '{0}';, Display Name: '{1}'", x.ServiceName, x.DisplayName);
        }

        Console.ReadKey();
    }
}


Answer 2:

它的出现,我有一个版本,只是没有真正的工作(这似乎是最新的版本)。 我不得不回滚(通过的NuGet thanksfully)到以前的版本,2.0版前,为了解决我的问题。 它也出现了,我是工作的项目被钩到一些预先v2.0的功能/方法,因此随之而来的问题。

感谢杰夫·舒马赫的额外帮助解决这个问题。 希望这些TopShelf软件更新,不必在当前版本的这些差距。



文章来源: Working with TopShelf, I'm running into an error around “Topshelf.HostConfigurators.WindowsServiceDescription service has not been installed yet.”