使用 csc.exe 实现命令行生成
作为一个半路出家的非计算机专业出身的前端码农,最近对C#很感兴趣,原因如下:
1、希望通过学习C#能熟悉一下windows系统和一些概念,例如:windows服务、socket、线程、进程、指针等,为以后转向服务器端开发打点基础;
2、希望能在三个月内,学会开发简单的windows窗体界面的网络程序。作为一个打杂的页面仔,一直对windows窗体程序充满了好奇,很羡慕它能调用系统功能实现很多前端无法实现的功能。同时也希望学会使用QT以便使我的窗体程序做出来界面不那么丑,QT那个QSS跟CSS太像了,不学真是浪费了;
3、之前学习了一阵子java,老是听到网上一批说java怎么怎么好,一批人说.net怎么怎么好。希望通过学习C#后,有一个比较全面的技术视野,来对比java和.net这两种技术的不同,从而对技术工具有一个更为全面和理性的认识;
4、据我所知,C#能做一些网络通讯程序,也能做串口通讯,能做一些不同的系统之间通过自定义协议通讯的接口程序,这是建筑或设备智能化系统集成成为协调有机统一的互操作集成系统的基础,也可能会是物联网与互联网结合的技术之一,希望通过这个学习,以后能往物联网行业发展。
学习C#的时候,需要打开VS2010,编译,然后生成。为了几行hello world之类的代码开一个这么大的IED很麻烦,于是去查了下编译命令,列出常用的放这里备查:
C# 编译器的示例命令行
- 编译生成 File.exe 的 File.cs:
csc File.cs
- 编译生成 File.dll 的 File.cs:
csc /target:library File.cs
- 编译 File.cs 并创建 My.exe:
csc /out:My.exe File.cs
- 编译当前目录中的所有 C# 文件,对其进行优化并定义 DEBUG 符号。 输出为 File2.exe:
csc /define:DEBUG /optimize /out:File2.exe *.cs
- 编译当前目录中的所有 C# 文件,生成 File2.dll 的调试版本。 不显示徽标和警告:
csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
- 将当前目录中的所有 C# 文件编译为 Something.xyz (DLL):
csc /target:library /out:Something.xyz *.cs