1

前提工作:.Net Framework 4.5以上的版本或安装了VS2015

1. 手动编写与运行一个C#控制台程序

添加Path环境变量:"我的电脑-属性-高级系统设置-环境变量-系统变量-Path-编辑-新建"
将C#编译器(csc.exe)所在的目录(C:WindowsMicrosoft.NETFramework64v4.0.30319,这是我机器上相应的目录)添加到系统环境变量Path中。这样的话csc.exe就全局可见了。如下图:

新增C#环境变量Path的值

测试C#的Path环境变量是否生效? 打开命令行程序(cmd.exe)-- win+r键输入cmd回车即可。然后输入csc -?回车,看是否有下图内容。如果没有的话,那就是上一步的环境变量没有配置成功。

测试C#的Path环境变量配置是否成功

用你喜欢的文本编辑器编写如下文件(TestApp.cs)并保存到指定目录(我的是家目录下的ProCSharp目录):

第一个C#程序

最后是编译与运行这个程序。打开命令行程序,进入上一步程序源文件所在的目录中执行csc /target:exe TestApp.cs来对其进行编译。

编译我们的第一个C#程序

这时在ProCSharp目录中会生成与源文件同名的TestApp.exe的程序文件(程序集),我们运行它吧!

运行程序

OK!至此,我们手动编写、编译、执行的第一个C#程序TestApp成功了。

2. 命令行引用外部的程序集来生成一个桌面程序

编辑TestApp.cs源代码文件

给源文添加两行代码(注释部分)

引用类库编译桌面程序

运行这个新编译的程序

3. 编译多个.cs源代码文件

ProCSharp目录新建名为HelloMsg.cs内容如下的新源代码文件:

HelloMsg.cs源代码文件

修改TestApp.cs源代码文件成如下:

这时我们在ProCSharp目录就存在两个C#源代码文件,TestApp.css、HelloMsg.cs,如下图(我删除了之前生成的TestApp.exe文件)

图片描述

让我们一块编译它们吧!(如果源代码文件有很多个的话,可以用*通配符通配它们,如:csc /r:System.Windows.Forms.dll /out:NewName.exe *.cs),因为这时是编译多个源代码文件(先后顺序不会影响编译),那编译后的程序如果叫其中某一个名字就不太合适了,这时我们可以用编译选项参数/out来自定义我们编译后要生成的程序文件名。如下图:

编译多个源代码文件生成我们自定义的新名称的程序

运行这个新程序TestAndSayHello.exe,得到与之前一致的效果,但分离了程序功能到两个源代码文件中。

4. .rsp响应文件

简单地说就是包括各种编译选项参数的文件,以简化编译命令。例如多们之前编译2个源代码文件的命令csc /r:System.Windows.Forms.dll /target:exe /out:TestAndSayHello.exe *.cs这里的/r:System.Windows.Forms.dll /target:exe /out:TestAndSayHi.exe *.cs这些编译器选项参数就可以放入到自定义的myapp.rsp文件中,看看用响应文件简化编译时是否能生成xxxSayHi.exe程序:

myapp.rsp响应文件,注意响应文件中的程序输出名改为了TestAndSayHi.exe

这时编译命令就大简化成了csc @myapp.rsp!如下图,我们预期的xxSayHi.exe也生成了:

.rsp响应文件简化编译命令

C#在与编译器相同的目录下有一个默认的响应文件csc.rsp,如何希望取消这个默认响应文件的自动读取呢?很简单: csc @myapp.rsp /noconfig


uangianlap
6 声望0 粉丝