我从一个非常简单的WPF测试应用程序使用Console.WriteLine(),但是当我从命令行执行应用程序时,我看不到任何内容被写入控制台.有谁知道这里会发生什么?
我可以通过在VS 2008中创建WPF应用程序来重现它,并简单地在执行任何地方添加Console.WriteLine("text").有任何想法吗?
我现在需要的只是Console.WriteLine()这么简单.我意识到我可以使用log4net或其他日志记录解决方案,但我真的不需要这个应用程序的那么多功能.
编辑:我应该记得Console.WriteLine()是用于控制台应用程序.哦,好吧,没有愚蠢的问题,对吗?:-)我现在只使用System.Diagnostics.Trace.WriteLine()和DebugView.
如何在控制台应用程序中创建,执行和控制winform?
我目前正在使用TopShelf和控制台应用程序来创建Windows服务.当我将代码作为控制台应用程序运行时,我使用一些Console.WriteLine()来输出结果.一旦代码执行了它应该执行的操作,我将控制台应用程序安装为Windows服务.
即使Windows服务无法写入控制台,离开Console.WriteLine()代码是否有任何缺点?如果我将Console.WriteLine()留在那里,是否存在代码不稳定的风险?
我想编写一个具有不同行为的控制台应用程序,具体取决于输入是来自键盘还是来自文件.
可能吗?在C#中最优雅的方法是什么?
我正在为Rhino的Grasshopper开发一个C#组件.当我运行一些非常繁重的迭代分析时,我想将结果连续输出到cmd窗口,以确保分析实际上正在运行.
这是我试过的:
using System.Diagnostics;
Result results = new Result();
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = false;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
do {
results = RunHeavyOperation(results);
cmd.StandardInput.WriteLine("echo " + results.usefulInfo);
} while (!results.conditionForEnd);
cmd.WaitForExit();
Result RunHeavyOperation(Result previousResults) {
Result res = doHeavyStuff(previousResults);
return res;
}
Run Code Online (Sandbox Code Playgroud)
我意识到我错过了一部分,但它是什么?