用下面的代码:
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文件输出到指定的目录中那?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架