C# debug.writeline-如何在调试时在调试中获取它,以及如何在live中获取文件

C# debug.writeline-如何在调试时在调试中获取它,以及如何在live中获取文件,c#,debugging,visual-studio-2013,C#,Debugging,Visual Studio 2013,我即将开始一个C#项目,我正在努力解决一个简单的问题:如何打开我的Debug.WriteLine(“”)编码到输出文件中 我所做的:我将此添加到app.config: <system.diagnostics> <trace autoflush="true"> <listeners> <add name="textListener" type="System.Diagnostics.TextWriterTra

我即将开始一个C#项目,我正在努力解决一个简单的问题:如何打开我的
Debug.WriteLine(“”)编码到输出文件中

我所做的:我将此添加到
app.config

<system.diagnostics>
   <trace autoflush="true">
    <listeners>
      <add name="textListener"
           type="System.Diagnostics.TextWriterTraceListener"
           initializeData="trace.log" />
      <remove name="Default" />
    </listeners>
    </trace>
</system.diagnostics>
我希望它在调试程序中写入调试窗口(我想要的),并在运行live(我想要的)时写入输出文件('trace.log'),但这两个更改只是将所有内容放在trace.log中,不管发生什么

如果我不是在运行live,而是在Visual Studio中使用
[>开始]
按钮,那么如何设置它,以便在live build中获得
跟踪.log
和Visual Studio(Microsoft Visual Studio Express 2013 for Windows Desktop)中的
输出>调试
窗口?

如果您指的是“live”的“发布模式”,而不是调试模式,那么:

#if DEBUG
Debug.WriteLine(msg);
#else
Trace.WriteLine(msg);
#endif
当然,您可以在预编译器中将DEBUG替换为实际的DEBUG常量。

如果您指的是“实时”的“发布模式”,而不是调试模式,那么:

#if DEBUG
Debug.WriteLine(msg);
#else
Trace.WriteLine(msg);
#endif
当然,您可以用预编译器中的实际调试常量替换调试。

保持简单:

Debug.WriteLine(msg);
Trace.WriteLine(msg);
你总是跟踪日志。如果附加了调试器,还可以登录到调试器窗口。如果要查看调试器输出,请确保您的解决方案
[>Start]
实际上正在附加调试器。请参阅。

保持简单:

Debug.WriteLine(msg);
Trace.WriteLine(msg);

你总是跟踪日志。如果附加了调试器,还可以登录到调试器窗口。如果要查看调试器输出,请确保您的解决方案
[>Start]
实际上正在附加调试器。请参阅。

对于
发布
调试
配置,您可以有两个不同的
.config
文件,并且在发布配置中添加新的侦听器以跟踪文件。要管理多个配置文件,请参阅Scott Hanselman的文章。

您可以为
发行版
调试
配置提供两个不同的
.config
文件,并在发行版配置中添加一个新的侦听器以跟踪文件。要管理多个配置文件,请参阅Scott Hanselman的文章。

我认为这样做加上@Hamlet Hakobyan的想法就是这样做的:)我认为这样做加上@Hamlet Hakobyan的想法就是这样做的:)