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
と、アプリは正常に登録されます。
前もって感謝します!