我有一个C#控制台应用程序(A).我想从应用程序A(以同步方式)执行其他控制台应用程序(B),以便B使用相同的命令窗口.当B存在时,A应该能够读取B的退出代码.
怎么做?我只需要关于如何在同一个cmd窗口中运行这个其他应用程序的这个小技巧.
我在工作中维护了许多控制台应用程序,我在其中一些人注意到的一件事是他们调用了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?
我只是编写一个控制台实用程序,并决定使用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) 我想在app.config文件中存储连接字符串和一些参数,我们通常为windows应用程序做,但我找不到控制台应用程序的app.config文件.那么我该如何使用这个文件,如何添加这个文件,或者还有其他一些工作用于相同的功能.我在控制台应用程序中工作
当我运行我的程序时,控制台窗口似乎运行和关闭.如何保持开放,以便我可以看到结果?
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) 我正在使用内置日志记录提供程序登录到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)
任何的想法?我知道,我可以写一个自定义记录器,但我想知道是否还有其他方法.
谢谢.
我正在尝试编写一个类库,它可以捕获Windows消息,以便在已连接或删除设备时通知我.通常,在Windows窗体应用程序中,我只是覆盖WndProc方法,但在这种情况下没有WndProc方法.还有其他方法可以收到消息吗?
从Visual Studio中的控制台应用程序项目,我想在调试时将输出重定向到输出窗口.Console
我刚刚为项目完成了我的C#控制台应用程序代码,并希望为我的字体添加一些颜色.我希望能够使用自定义颜色 - 橙色.有没有办法做到这一点?
这是我过去用来改变颜色的代码,但它不提供橙色:
Console.ForegroundColor = ConsoleColor.Magenta(and so on);
Run Code Online (Sandbox Code Playgroud)
有没有办法可以为颜色或类似的东西插入十六进制值?
我正在使用c#在Visual Studio 2010中创建一个控制台应用程序.我希望这个应用程序是独立的,因为你需要的只是exe,你可以从任何地方运行它.我还想使用app.config来存储连接字符串等.
我的问题是我似乎无法弄清楚如何将app.config数据包含到已编译的exe中.我确实看到它创建appname.exe.config,但我不希望人们在获取应用程序时不必担心抓取两个单独的文件.
我所做的谷歌搜索都没有想出任何东西.这甚至可能吗?