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();
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();