使用响应文件编译C#源文件

来源:岁月联盟 编辑:zhu 时间:2005-04-08
在命令行中编译几个cs源文件,可能会这样写:

csc.exe /out:./bin/MyAssembly.dll /t:library
/r:PATH1/FirstAssemblydll, PATH2/SecondAssemlbydll,etc
src1.cs src2.cs etc

如果继续引用新的程序集或者创建新源文件,那么将不得不修改这行命令,当然也可以将这行命令放到一个.bat文件中,这样只需要修改.bat文件就可以继续编译了。不过还有一个方法,用起来更方便,就是创建响应文件,响应文件是一个文本文件,可以将编译器选项写在里面,比如:

#注释,MyAssembly.rsp
#begin
/out:./bin/MyAssembly.dll
/target:library
/reference:PATH1/FirstAssembly.dll,PATH2/SecondAssembly.dll,etc
src1.cs src2.cs etc
#end

然后我就可以这样编译源代码了:csc.exe @MyAssembly.rsp

这样,无论编译器选项如何改变,源文件如何改变,我只需要修改MyAssembly.rsp文件的内容就可以了,比起前面是方便多了。

如果使用EditPlus,可以添加一个用户工具,格式如下(我使用的是汉化版EditPlus):

菜单文字:csc
命令 :csc.exe
参数 :@$(FileName)
初始目录:$(FileDir)
捕获输出:选中

类似$(...)格式的内容是由EditPlus生成的。还可以在EditPlus中创建响应文件的模板,这样每次编辑完源代码后,只需要再创建一个响应文件,添加类似上面的内容,然后就可以单击“工具”菜单下面的用户工具进行编译了(注意,响应文件要处于活动状态),编译的结果也会被EditPlus截获并在下方输出,简直就像一个IDE。

总之,使用响应文件,可以简化编译命令,再配合EditPlus,就可以搭建一个简易的IDE,用起来非常方便。