Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 记事本中的System.Diagnostics.Trace类++;_C#_.net - Fatal编程技术网

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”作为文件的第一行,然后重新编译