TopShelf没有响应命令行参数

时间:2015-02-09 03:56:09

标签: .net topshelf

TopShelf文档说MyService.exe will respond to a range of command line arguments。但是,文档也绝对显示no indication that command-line parameters are being consumed by the main program

显然这适用于所有人,因为我发现在任何地方都没有讨论过这个问题。是的,不出所料,当我尝试执行MyService.exe help时,我得不到回应;它不适合我。

我希望上面的示例链接至少包含通常的args形式参数...

static void Main(string[] args) {...}

但事实并非如此。我错过了什么?

更新

我发现了问题:我在Visual Studio中创建的控制台应用程序有点腐败。删除并重新创建后,问题就解决了。

1 个答案:

答案 0 :(得分:0)

内部TopShelf使用BCL Environment.CommandLine属性,该属性包含传递给应用程序的命令行参数。他们的设计决定是不要求明确传递命令行参数。

对于帮助问题,您可以尝试

HostFactory.Run(configurator =>
{
    configurator.AddCommandLineDefinition("yourCommand", f=> { /*some action*/});
    configurator.ApplyCommandLine();