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中创建的控制台应用程序有点腐败。删除并重新创建后,问题就解决了。
答案 0 :(得分:0)
内部TopShelf使用BCL Environment.CommandLine
属性,该属性包含传递给应用程序的命令行参数。他们的设计决定是不要求明确传递命令行参数。
对于帮助问题,您可以尝试
HostFactory.Run(configurator =>
{
configurator.AddCommandLineDefinition("yourCommand", f=> { /*some action*/});
configurator.ApplyCommandLine();