标签: console-application

从其他控制台应用运行控制台应用

我有一个C#控制台应用程序(A).我想从应用程序A(以同步方式)执行其他控制台应用程序(B),以便B使用相同的命令窗口.当B存在时,A应该能够读取B的退出代码.

怎么做?我只需要关于如何在同一个cmd窗口中运行这个其他应用程序的这个小技巧.

c# console-application

35
推荐指数
3
解决办法
4万
查看次数

什么时候应该使用Environment.Exit来终止控制台应用程序?

我在工作中维护了许多控制台应用程序,我在其中一些人注意到的一件事是他们调用了Environment.Exit(0).

示例程序如下所示:

public class Program
{
    public static void Main(string[] args)
    {
        DoStuff();
        Environment.Exit(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白原始程序员的意图是什么?在我看来,即使没有Environment.Exit语句,程序应该退出就好了.也就是说,对于其中一个程序,它的控制台窗口即使在应该关闭之后仍然存在,所以我真的不确定那里发生了什么......

我在这里错过了什么吗?或者是否有理由在此实例中调用Environment.Exit?

.net c# console-application

34
推荐指数
2
解决办法
6万
查看次数

如何使用NDesk.Options强制执行所需的命令行选项?

我只是编写一个控制台实用程序,并决定使用NDesk.Options进行命令行解析.我的问题是,如何强制执行所需的命令行选项?

我在文档中看到:

具有所需值的选项(将"="附加到选项名称)或可选值(将":"附加到选项名称).

但是,当我=在选项名称末尾添加a 时,行为没有区别.理想情况下,Parse方法会抛出异常.

我还需要做些什么吗?

这是我的测试代码:

class Program
{
    static void Main(string[] args)
    {
        bool show_help = false;
        string someoption = null;

        var p = new OptionSet() {
            { "someoption=", "Some String Option", v => someoption = v},
            { "h|help",  "show this message and exit", v => show_help = v != null }
        };

        List<string> extra;
        try
        {
            extra = p.Parse(args);
        }
        catch (OptionException e)
        {
            System.Console.Write("myconsole: ");
            System.Console.WriteLine(e.Message);
            System.Console.WriteLine("Try `myconsole --help' for more information."); …
Run Code Online (Sandbox Code Playgroud)

c# console-application command-line-parsing ndesk.options

34
推荐指数
1
解决办法
1万
查看次数

如何在控制台应用程序中添加App.Config文件

我想在app.config文件中存储连接字符串和一些参数,我们通常为windows应用程序做,但我找不到控制台应用程序的app.config文件.那么我该如何使用这个文件,如何添加这个文件,或者还有其他一些工作用于相同的功能.我在控制台应用程序中工作

.net c# console-application

34
推荐指数
3
解决办法
6万
查看次数

如何保持控制台窗口打开

当我运行我的程序时,控制台窗口似乎运行和关闭.如何保持开放,以便我可以看到结果?

class Program
{
    public class StringAddString       
    {                        
        public virtual void AddString()
        {
            var strings2 = new string[] { "1", "2", "3", "4", "5","6", "7", "8", "9"};

            Console.WriteLine(strings2);
            Console.ReadLine();
        }
    }

    static void Main(string[] args)
    {          
        StringAddString s = new StringAddString();            
    }
}
Run Code Online (Sandbox Code Playgroud)

c# console-application

34
推荐指数
8
解决办法
11万
查看次数

有没有办法在.NET Core日志记录中格式化输出格式?

我正在使用内置日志记录提供程序登录到Microsoft.Extensions.Logging.Console.NET Core控制台应用程序中的console().

每个日志记录条目在输出中生成两行.我想将每个条目放在一行中.有没有办法自定义输出格式?

以下是我如何使用它的示例:

static void Main(string[] args)
{
    var serviceProvider = new ServiceCollection()
      .AddLogging() // This adds the Microsoft logging.
      .AddSingleton<IProjectGeneratorService, CSharpProjectGeneratorService>()
      .BuildServiceProvider();

    // Configure the console logging.
    serviceProvider
      .GetService<ILoggerFactory>()
      .AddConsole(LogLevel.Debug);

    // Write a logging entry
    var logger = serviceProvider.GetService<ILoggerFactory>().CreateLogger<Program>();
    logger.LogDebug("Application started...");
}
Run Code Online (Sandbox Code Playgroud)

我得到的是:

dbug: Generator.Program[0]
      Application started...
Run Code Online (Sandbox Code Playgroud)

我想拥有的是这样的:

dbug: Generator.Program[0]: Application started...
Run Code Online (Sandbox Code Playgroud)

任何的想法?我知道,我可以写一个自定义记录器,但我想知道是否还有其他方法.

谢谢.

c# logging console-application .net-core

33
推荐指数
6
解决办法
9149
查看次数

如何在没有Windows窗体的情况下接收即插即用设备通知

我正在尝试编写一个类库,它可以捕获Windows消息,以便在已连接或删除设备时通知我.通常,在Windows窗体应用程序中,我只是覆盖WndProc方法,但在这种情况下没有WndProc方法.还有其他方法可以收到消息吗?

c# overriding wndproc console-application winforms

32
推荐指数
2
解决办法
2万
查看次数

重定向Console.Write ...调试时Visual Studio的输出窗口的方法

Visual Studio中控制台应用程序项目,我想在调试时将输出重定向到输出窗口.Console

debugging console-application visual-studio

32
推荐指数
3
解决办法
3万
查看次数

C#console应用程序中的自定义文本颜色?

我刚刚为项目完成了我的C#控制台应用程序代码,并希望为我的字体添加一些颜色.我希望能够使用自定义颜色 - 橙色.有没有办法做到这一点?

这是我过去用来改变颜色的代码,但它不提供橙色:

Console.ForegroundColor = ConsoleColor.Magenta(and so on);
Run Code Online (Sandbox Code Playgroud)

有没有办法可以为颜色或类似的东西插入十六进制值?

c# console console-application textcolor visual-studio

31
推荐指数
4
解决办法
6万
查看次数

如何在VS2010 C#控制台应用程序中将我的App.config编译到我的exe中?

我正在使用c#在Visual Studio 2010中创建一个控制台应用程序.我希望这个应用程序是独立的,因为你需要的只是exe,你可以从任何地方运行它.我还想使用app.config来存储连接字符串等.

我的问题是我似乎无法弄清楚如何将app.config数据包含到已编译的exe中.我确实看到它创建appname.exe.config,但我不希望人们在获取应用程序时不必担心抓取两个单独的文件.

我所做的谷歌搜索都没有想出任何东西.这甚至可能吗?

.net c# console-application visual-studio-2010 .net-3.5

30
推荐指数
3
解决办法
4万
查看次数