用下面的代码:
using System;
using System.Diagnostics;
class Class1
{
[STAThread]
static void Main(string[] args)
{
TextWriterTraceListener myWriter =
new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Console.WriteLine("Console.WriteLine is always displayed");
Method1();
Method2();
}
[Conditional("CONDITION1")]
public static void Method1()
{
Debug.Write("Method1 - DEBUG and CONDITION1 are specified\n");
Trace.Write("Method1 - TRACE and CONDITION1 are specified\n");
}
[Conditional("CONDITION1"), Conditional("CONDITION2")]
public static void Method2()
{
Debug.Write("Method2 - DEBUG, CONDITION1 or CONDITION2 are specified\n");
}
}
using System.Diagnostics;
class Class1
{
[STAThread]
static void Main(string[] args)
{
TextWriterTraceListener myWriter =
new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Console.WriteLine("Console.WriteLine is always displayed");
Method1();
Method2();
}
[Conditional("CONDITION1")]
public static void Method1()
{
Debug.Write("Method1 - DEBUG and CONDITION1 are specified\n");
Trace.Write("Method1 - TRACE and CONDITION1 are specified\n");
}
[Conditional("CONDITION1"), Conditional("CONDITION2")]
public static void Method2()
{
Debug.Write("Method2 - DEBUG, CONDITION1 or CONDITION2 are specified\n");
}
}
用下面的命令行:
csc /target:exe /d:CONDITION1,DEBUG,TRACE /out:CASCS.exe CAS.cs
msdn给出的结果如下:
Console.WriteLine is always displayed
Method1 - DEBUG and CONDITION1 are specified
Method1 - TRACE and CONDITION1 are specified
Method2 - DEBUG, CONDITION1 or CONDITION2 are specified
Method1 - DEBUG and CONDITION1 are specified
Method1 - TRACE and CONDITION1 are specified
Method2 - DEBUG, CONDITION1 or CONDITION2 are specified
在我的机器上的结果如下:
Console.WriteLine is always displayed
Method1 - DEBUG and CONDITION1 are specified
Method2 - DEBUG, CONDITION1 or CONDITION2 are specified
Method1 - DEBUG and CONDITION1 are specified
Method2 - DEBUG, CONDITION1 or CONDITION2 are specified
现在问题有三个:
(1) 为什么我的输出结果不一样,难道我没有开Trace选项,Trace选项该怎么开,打开Trace选项以后有什么作用?
(2) 为什么命令行中是out:CASCS.exe,可是输出的文件名称却是CAS.exe那?
(3) 我用csc /target:exe /d:CONDITION2,DEBUG,TRACE /out: F:\CscTest\bin\CASCS.exe F:\CscTest\CAS.cs
结果提示:
fatal error CS2005: 缺少对“/out:”命令行选项的文件规范
fatal error CS2008: 未指定输入
fatal error CS2008: 未指定输入
那么我该怎么样将生成的exe文件输出到指定的目录中那?
浙公网安备 33010602011771号