C#命令行

 

C#命令行

By alephsoul

 

在命令行输入csc /help 会出现下面的提示,其中有很多我们需要用到的功能:

 

/out:<文件>                    指定输出文件名(默认值:

                               包含主类的文件或第一个文件的基名称)

/target:exe                    生成控制台可执行文件(默认) (缩写: /t:exe)

/target:winexe                 生成 Windows 可执行文件 (缩写: /t:winexe)

/target:library                生成库 (缩写: /t:library)

/target:module                 生成能添加到其他程序集的模块 (缩写: /t:module)

/delaysign[+|-]                仅使用强名称密钥的公共部分对程序集进行延迟签名

/doc:<文件>                    要生成的 XML 文档文件

/keyfile:<文件>                指定强名称密钥文件

/keycontainer:<字符串>         指定强名称密钥容器

/platform:<字符串>             限制可以在其上运行此代码的平台: x86Itaniumx64

                               anycpu。默认值为 anycpu

 

                        - 输入文件 -

/recurse:<通配符>              根据通配符规范,包括当前目录和子目录下的所有文件

/reference:<别名>=<文件>       使用给定的别名从指定的程序集文件引用元数据 (缩写:

                               /r)

/reference:<文件列表>          从指定的程序集文件引用元数据 (缩写: /r)

/addmodule:<文件列表>          将指定的模块链接到此程序集中

/link:<文件列表>               嵌入指定的互操作程序集文件中的元数据 (缩写: /l)

 

                        - 资源 -

/win32res:<文件>               指定 Win32 资源文件(.res)

/win32icon:<文件>              对输出使用此图标

/win32manifest:<文件>          指定 Win32 清单文件(.xml)

/nowin32manifest               不包括默认 Win32 清单

/resource:<资源信息>           嵌入指定的资源 (缩写: /res)

/linkresource:<资源信息>       将指定的资源链接到此程序集 (缩写: /linkres)

                               其中 resinfo 的格式是 <file>[,<string

                               name>[,public|private]]

 

                        - 代码生成 -

/debug[+|-]                    发出调试信息

/debug:{full|pdbonly}          指定调试类型(full”是默认类型,可以将调试程序附

                               加到正在运行的程序)

/optimize[+|-]                 启用优化 (缩写: /o)

 

                        - 错误和警告 -

/warnaserror[+|-]              将所有警告报告为错误

/warnaserror[+|-]:<警告列表>   将特定警告报告为错误

/warn:<n>                      设置警告等级(0-4) (缩写: /w)

/nowarn:<警告列表>             禁用特定的警告消息

 

                        - 语言 -

/checked[+|-]                  生成溢出检查

/unsafe[+|-]                   允许“不安全”代码

/define:<符号列表>             定义条件编译符号 (缩写: /d)

/langversion:<字符串>          指定语言版本模式: ISO-1ISO-23 Default

 

                        - 杂项 -

@<文件>                        有关更多选项,请阅读响应文件

/help                          显示此用法信息 (缩写: /?)

/nologo                        取消编译器版权信息

/noconfig                      不要自动包含 CSC.RSP 文件

 

                        - 高级 -

/baseaddress:<地址>            要生成的库的基址

/bugreport:<文件>              创建“Bug 报告”文件

/codepage:<n>                  指定打开源文件时要使用的代码页

/utf8output                    UTF-8 编码格式输出编译器消息

/main:<类型>                   指定包含入口点的类型(忽略所有其他可能的入口点)

                               (缩写: /m)

/fullpaths                     编译器生成完全限定路径

/filealign:<n>                 指定用于输出文件节的对齐方式

/pdb:<文件>                    指定调试信息文件名(默认值: 扩展名为 .pdb

                               的输出文件名)

/nostdlib[+|-]                 不引用标准库(mscorlib.dll)

/lib:<文件列表>                指定要在其中搜索引用的附加目录

/errorreport:<字符串>          指定如何处理内部编译器错误: promptsendqueue

                               none。默认值为 queue

/appconfig:<文件>              指定一个包含程序集绑定设置的应用程序配置文件

/moduleassemblyname:<字符串>   此模块所属程序集的名称

 

这里举几个例子:

编译两个文件

Csc /out:Hello.exe  HelloWorld.cs  HelloAleph.cs

编译 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 

编译 File.cs 以产生 File.dll csc /target:library File.cs这个就是我们使用最多的一个命令,其实可以简单的写成csc /t:library File.cs,另外的一个写法是
csc /out:mycodebehind.dll /t:library mycodebehind.cs,这个可以自己指定输出的文件名。
csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,这个的作用是把两个cs文件装到一个.dll文件里,很有用哦。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值