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

编译|响应

在命令行中编译几个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,用起来非常方便。

时间: 2024-10-04 22:14:02

使用响应文件编译C#源文件的相关文章

android.mk-在ndk编译写Android.mk时能不能把一个头文件 让所有要编译的源文件都包含

问题描述 在ndk编译写Android.mk时能不能把一个头文件 让所有要编译的源文件都包含 有个typedef.h文件 里面定义了一些常用的常量,大部分文件都会用到它.我想咨询下在编译ndk时有没有一种方式让全局都包含,就不用每个文件去include ,就直接可以调用里面的内容 .类似于iOS的prefix header 或者.pch文件,谢谢各位大神了 解决方案 好像只能include了! 解决方案二: 有个大神告诉过我使用类似于"强制包含"的那种方法 但我也不知道怎么强制包含..

【技术贴】解决Eclipse编译java源文件之后没有生成class文件|找不到class文件

[技术贴]解决Eclipse编译java源文件之后没有生成class文件|找不到class文件   今天遇到的,非常恶心,项目下有个红叉叉,因为是公司的老项目,1.4的jdk,我把工程导入后,发现没有报错,但是有小红叉,自动保存代码编译完java源文件之后,找不到class文件.急死鸟.   第1种办法:后来抱着试试的态度,把所有你添加的jar包全部remove掉,然后再原封不动的把jar包build进去就好了.去你的bin目录下,class文件就出来了.     第2种办法:把myeclips

把aspx文件编译成DLL文件

编译 前言 Asp.net不是asp的简单升级,而是微软.Net计划中的一个重要组成部分,它依托.Net的多语言与强大的类库支持,引进了服务端HTML控件与WEB控件,自动处理控件的客户端与服务端的 交互,为开发人员提供了类似Windows下窗口编程的界面,为开发大型网络应用程序功能提供了良好的编程接口,也能够极大地提高开发人员的工作效率. 然而,"一次转换,两次编译"过程使得aspx文件在首次执行(或更新后首次运行)时显得略有不足,特别是在拥有大量aspx及codebehind的代码

Fla文件编译成Swf文件体积过大怎么办?

编译 经常会有朋友问:Fla文件编译成Swf文件体积过大怎么办?我第一次碰到别人给我的源文件有这种情况时,也是很头疼.其实这样的情况往往是Fla文件中有着一大批动态文本框.我整理出下具体的解决办法和解释图,希望对大家有帮助. 问题表现: 我现在有一个以前用FLASH6写的FLA文件,当时用FLASH6编译只有76K这么点,可现在用了FLASH8以后发布出来的SWF文件竟然有5M多! 问题症结: fla文件中某动态文本框字体嵌入属性被打开.这种编译后swf变很大的情况,往往是嵌了一个中文字体进去.

使用C#响应文件

尽管通过命令行工作时可以体验到其与生俱来的优势,但没有人能够否认键入数十个编译器选项可能导致手指抽筋和录入错误.为了有助于 减轻这两个问题,C#编译器支持使用响应文件. 注 所有命令提示都允许您使用Up和Down箭头键遍历以前的命令. 响应文件(它们按照约定采用*.rsp文件扩展名)包含您希望供给到csc.exe中的所有选项.在创建了该文件以后,您就可以将它的名称指定 为C#编译器的唯一选项.为了便于说明,下面提供了一个将用于生成 MyCodeLibrary.dll的响应文件(请注意,您可以使用

JAVA 文件编译执行与虚拟机(JVM)简单介绍

java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行.本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明.    一.Java源文件的编译.下载.解释和执行  Java应用程序的开发周期包括编译.下载.解释和执行几个部分.Java编译程序将Java源程序翻译为JVM可执行代码?字节码.

关于怎么将vb.net文件编译成DLL

问题描述 我看见发布的web项目的目录下面找不到**.aspx.vb这样的文件.只看见在web根目录下面的bin目录下有一些DLL文件,这里的一个DLL文件,好像包含了很多vb文件.不知道是怎么打包成的.我的VS是2003版本.1.怎么将**.aspx.vb文件编译成DLL文件.2.编译完以后,覆盖源文件的DLL需要先停止iis下的应用web.然后重新启动应用web吗? 解决方案 解决方案二:1.系统自动将*.aspx.vb编译成dll的2.编译完直接覆盖就可以了,不需要停止iis解决方案三:1

如何将.java文件编译成.class文件? 我菜鸟

问题描述 如何将.java文件编译成.class文件?我要编译1个*.JAVA文件为*.class文件网上找了似乎看在DOS做比较简单,但是我还是没看懂,好像是要用javac我电脑里装的是jdk1.6.0_11要怎么弄哥哥们帮详细说下怎么弄好么,我刚开始接触JAVA一窍不通呢.谢谢啦! 解决方案 解决方案二:下载netbeans用ide吧解决方案三:javac解决方案四:我觉得楼主是在学java直接从ide开始学起吧.解决方案五:cmd下,cd到.java所在的目录然后javac*.java解决

OC方法和文件编译

一.OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式 [对象名 对象方法名]: (5)设计一个学生类和狗类,练习对象方法的使用. 学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现: 主程序: (二)类方法 (1)类方法以+开头 如+(void)put; (2)类方法只能由类来调用 (3)类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没有创建存储空间来存储类中的成