[摘录]Visual C# .NET 编译器选项

先做好你的.cs文件,然后用csc编序:
如:.cs程序是cx.cs

set   indir=d:\html\cx\cs\cx.cs
set   outdir=d:\html\bin\cx.dll
set   assemblies=System.dll,System.Data.dll

C:\WINNT\Microsoft.NET\Framework\v1.1.4322\csc   /t:library   /out:%outdir%   %indir%   /r:%assemblies%

 

 

Visual   C#   .NET   编译器选项

                                                -   输出文件   -
/out: <file>                           输出文件名(默认值:   包含主类的文件或第一个文件的基名称)
/target:exe                           生成控制台可执行文件(默认)   (缩写:   /t:exe)
/target:winexe                     生成   Windows   可执行文件   (缩写:   /t:winexe)
/target:library                   生成库   (缩写:   /t:library)
/target:module                     生成能添加到其他程序集的模块   (缩写:   /t:module)
/define: <symbol   list>       定义条件编译符号   (缩写:   /d)
/doc: <file>                           要生成的   XML   文档文件

                                                -   输入文件   -
/recurse: <wildcard>           根据通配符规范,包括当前目录和子目录下的所有文件
/reference: <file   list>     从指定的程序集文件引用元数据   (缩写:   /r)
/addmodule: <file   list>     将指定的模块链接到此程序集中

                                                -   资源   -
/win32res: <file>                 指定   Win32   资源文件(.res)
/win32icon: <file>               使用该图标输出
/resource: <resinfo>           嵌入指定的资源   (缩写:   /res)
/linkresource: <resinfo>   将指定的资源链接到此程序集中   (缩写:   /linkres)

                                                -   代码生成   -
/debug[+|-]                           发出调试信息
/debug:{full|pdbonly}       指定调试类型(“full”是默认类型,可以将调试程序附加到正在运行的程序)
/optimize[+|-]                     启用优化   (缩写:   /o)
/incremental[+|-]               启用增量编译   (缩写:   /incr)

                                                -   错误和警告   -
/warnaserror[+|-]               将警告视为错误
/warn: <n>                               设置警告等级(0-4)   (缩写:   /w)
/nowarn: <warning   list>     禁用特定的警告消息

                                                -   语言   -
/checked[+|-]                       生成溢出检查
/unsafe[+|-]                         允许“不安全”代码

                                                -   杂项   -
@ <file>                                   有关更多选项,请阅读响应文件
/help                                       显示此用法信息   (缩写:   /?)
/nologo                                   取消编译器版权信息
/noconfig                               不要自动包含   CSC.RSP   文件

                                                -   高级   -
/baseaddress: <address>     要生成的库的基址
/bugreport: <file>               创建一个“错误报告”文件
/codepage: <n>                       指定打开源文件时要使用的代码页
/utf8output                           以   UTF-8   编码格式输出编译器消息
/main: <type>                         指定包含入口点的类型(忽略所有其他可能的入口点)   (缩写:   /m)
/fullpaths                             编译器生成完全限定路径
/filealign: <n>                     指定用于输出文件节的对齐方式
/nostdlib[+|-]                     不引用标准库(mscorlib.dll)
/lib: <file   list>                 指定要在其中搜索引用的附加目录


通过在命令行上键入   C#   编译器可执行文件的名称   (csc.exe),可以在命令行调用   C#   编译器。
如果希望从计算机上的任何子目录调用   csc.exe,可能需要调整路径。


运行   VCVARS32.BAT
vcvars32.bat   设置适当的环境变量以启用命令行编译。
运行   VCVARS32.BAT  
在命令提示处,更改为安装的   \bin   子目录。  
通过键入   VCVARS32,运行   VCVARS32.bat。  
警告       VCVARS32.bat   因计算机的不同而变化。
不要用其他计算机上的   VCVARS32.bat   替换丢失或损坏的   VCVARS32.bat   文件。
重新运行安装程序以替换丢失的文件。

如果   Visual   Studio   当前版本安装在已经拥有   Visual   Studio   早期版本的计算机上,则不应在同一命令窗口中运行来自不同版本的   vcvars32.bat。
C#   编译器和   C++   编译器输出之间的差异
作为调用   C#   编译器的结果,没有创建任何对象   (.obj)   文件;直接创建输出文件。因此,C#   编译器不需要链接器。
命令行语法规则
当解释操作系统命令行上给出的参数时,C#   编译器代码使用下面的规则:  
参数用空白分隔,空白可以是一个空格或制表符。  
^   字符   (^)   未被识别为转义符或者分隔符。该字符在被传递给程序中的   argv   数组前,完全由操作系统的命令行分析器进行处理。  
无论其中有无空白,包含在双引号   ( "string ")   中的字符串均被解释为单个参数。带引号的字符串可以嵌入在参数内。  
前面有反斜杠的双引号   (\ ")   被解释为原义双引号字符   ( ")。  
反斜杠按其原义解释,除非它们紧位于双引号之前。  
如果偶数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在   argv   数组中,并且双引号被解释为字符串分隔符。  
如果奇数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在   argv   数组中,双引号由其余的反斜杠“转义”,使原义双引号   ( ")   被放置在   argv   数组中。  

命令行示例
编译   File.cs   以产生   File.exe:  
csc   File.cs  
编译   File.cs   以产生   File.dll:  
csc   /target:library   File.cs
编译   File.cs   并创建   My.exe:  
csc   /out:My.exe   File.cs
通过使用优化和定义   DEBUG   符号,编译当前目录中所有的   C#   文件。输出为   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

转载于:https://www.cnblogs.com/mygame099/archive/2012/10/25/2739239.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值