C#命令行

    技术2022-05-20  35

    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文件里,很有用哦。


    最新回复(0)