C# 记事本中的System.Diagnostics.Trace类++;
我试过这么做C# 记事本中的System.Diagnostics.Trace类++;,c#,.net,C#,.net,我试过这么做 using System; using System.Diagnostics; using System.IO; public class Sample { public static void Main() { Stream traceText = File.Create("trace.txt"); TextWriterTraceListener textListener = new TextWriterTraceListener
using System;
using System.Diagnostics;
using System.IO;
public class Sample
{
public static void Main()
{
Stream traceText = File.Create("trace.txt");
TextWriterTraceListener textListener = new TextWriterTraceListener(traceText);
Trace.Listeners.Add(textListener);
Trace.Write("wth is goin on? I should be appearin in a txt file :(");
Trace.Flush();
}
}
并用cmd编译,
但是程序只是创建了一个空的trace.txt文件。。为什么?
顺便说一句,我使用的是最新的.NET Framework版本,我使用的是记事本++而不是VS大多数
跟踪
类方法(例如写入
)都标有[条件(“跟踪”)]
属性,这意味着除非定义了相应的常量,否则编译器会剥离对它们的调用
在VisualStudio中创建项目时,此常量通常默认设置,但由于您是从命令行编译自己的,所以需要自己定义它
为此,要么
#define TRACE
作为代码文件的第一行,或者在从命令行编译时将
/d:TRACE
选项传递给编译器。您还应该关闭流(traceText.Close()
),但我不确定这是否是您的问题。我无法复制,您确定已在Notepad++中关闭该文件并重新打开它吗?这对我来说很好是的。。我正在重新打开它…让我尝试重新打开我的整个记事本++应用程序,直到无法工作:/Ah,然后将“#define TRACE”作为文件的第一行,然后重新编译