【问题标题】:How to integrate c# help into console application如何将 c# 帮助集成到控制台应用程序中
【发布时间】:2018-01-24 05:46:56
【问题描述】:

背景信息(基于我的第一个问题): 我想在我的“GUI.exe”(用 c# 编写)中集成一个帮助功能。 然后当我想在我的 cmd -> "GUI.exe --h" 中启动帮助功能。

尝试了一个stackoverflow-帖子: 我已尝试使用此解决方案:Adding "--help" parameter to C# console application

static bool ShowHelpRequired(IEnumerable<string> args)
{
    return args.Select(s => s.ToLowerInvariant())
        .Intersect(new[] { "help", "/?", "--help", "-help", "-h" }).Any();
}

当前问题:

不知道哪里可以集成帮助功能。 我不知道是否必须配置 Microsoft Visual Studio 中的特定设置。

提前感谢您的支持。

【问题讨论】:

  • 这与 Visual Studio 无关。您必须在您的 main( args ) 方法中包含该代码(可能)。
  • 感谢您的回答。现在不需要考虑配置。
  • 如果 GUI.exe 不是控制台应用程序,那么首先您必须调用 WinAPI AllocConsole()AttachConsole(ATTACH_PARENT_PROCESS)。如果您选择附加到父控制台,请注意 CMD 和 PowerShell 在交互时默认不会等待非控制台子控制台,因此您的输出可能会与 shell 的输出混淆。

标签: c# cmd integration windows-console


【解决方案1】:

在你的主要方法中调用ShowHelpRequired

    static void Main(string[] args)
    {

        if(ShowHelpRequired(args))
        {
            Console.WriteLine("Show help message here");
        }
    }

【讨论】:

  • 感谢您的帖子。当我尝试将 ShowHelpRequired 调用到我的主要方法中时,我遇到了一次失败(我的下一篇文章)
  • 静态类 Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(新的 GUI_Form()); } static void Main(string[] args) { if (ShowHelpRequired(args)) { Console.WriteLine("在这里显示帮助信息"); } } }
  • 在您的评论中主要有两种方法,请提供失败信息。
  • 感谢您的快速回答。失败消息:“使用 /main 编译以指定包含入口点的类型”
  • 我想你误会了,很遗憾我的问题没有得到解决
猜你喜欢
  • 1970-01-01
  • 2011-01-03
  • 2011-03-10
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多