我正在尝试启动 Topshelf 的一个实例。我已经下载了 v. 2.3 的二进制文件并提取了所有内容。
然后我创建了一个空的控制台应用程序。我已将框架更改为.NET 4.0 framework
并将以下代码添加到我的static void Main()
方法中:
Host h = HostFactory.New(x =>
{
x.Service< MyApp>(s =>
{
s.SetServiceName("Something");
s.ConstructUsing(name => new MyApp());
s.WhenStarted(tc => tc.Start());
s.WhenStopped(tc => tc.Stop());
});
x.RunAsLocalSystem();
x.SetDescription("Something");
x.SetDisplayName("Something");
x.SetServiceName("Something");
});
h.Run();
当我按 F5 时,consoleapp 按预期运行。
然后我将 bin/release 输出复制到 topshelf/services/test 目录并运行 Topshelf.Host.exe。这是结果:
如果我将浏览器指向仪表板,这就是我所看到的:
“测试”服务一直说“正在创建”(等待超过 15 分钟)。
我究竟做错了什么?我尝试过多种控制台应用程序。如果我调用install
我的控制台应用程序,该应用程序将成功注册。
提前致谢!