TopShelf 不响应命令行参数

TopShelf Not Responding to Command Line Arguments

TopShelf 文档说 MyService.exe will respond to a range of command line arguments. However, the documentation also shows absolutely no indication that command-line parameters are being consumed by the main program

显然这对每个人都有效,因为我在任何地方都找不到关于这个问题的讨论。是的,毫不奇怪,当我尝试执行 MyService.exe help 时,我没有得到任何回应;它对我不起作用。

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

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

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

更新

我发现了问题:我在 Visual Studio 中创建的控制台应用程序不知何故已损坏。删除后重新创建,问题解决

TopShelf 在内部使用 BCL Environment.CommandLine 属性,其中包含传递给您的应用的命令行参数。他们的设计决定不要求显式传递命令行参数。

如需帮助问题,您可以尝试

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