使用csc.exe编译cs文件为dll

参考:https://www.xp.cn/b.php/85332.html

https://www.cnblogs.com/alexyuyu/archive/2010/05/09/1731070.html

 

全指令为:C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /target:library /out:Class1.dll /res:activity.config.xml *.cs

具体操作方式,调用C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe,参数/target:library为生成类库,/out:Class1.dll为指定输出文件名,/res:activity.config.xml为嵌入指定的资源,*.cs为编译所有的cs文件。

 

附上Visual C# 编译器选项

                        - 输出文件 -
/out:<文件>                    指定输出文件名(默认值: 包含主类的文件或第一个文件的基名称)
/target:exe                    生成控制台可执行文件(默认) (缩写: /t:exe)
/target:winexe                 生成 Windows 可执行文件 (缩写: /t:winexe)
/target:library                生成库 (缩写: /t:library)
/target:module                 生成能添加到其他程序集的模块 (缩写: /t:module)
/target:appcontainerexe        生成 Appcontainer 可执行文件 (缩写: /t:appcontainerexe)
/target:winmdobj               生成 WinMDExp 使用的 Windows 运行时中间文件 (缩写: /t:winmdobj)
/doc:<文件>                    要生成的 XML 文档文件
/platform:<字符串>             限制可以在其上运行此代码的平台: x86、Itanium、x64、arm、anycpu32bitpreferred 或
                               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-1、ISO-2、3、4、5 或 Default

                        - 安全性 -
/delaysign[+|-]                仅使用强名称密钥的公共部分对程序集进行延迟签名
/keyfile:<文件>                指定强名称密钥文件
/keycontainer:<字符串>         指定强名称密钥容器
/highentropyva[+|-]            启用高平均信息量的 ASLR
/enforcecodeintegrity[+|-]     Enforce code intergrity checks on all inputs to the compiler and enable loading compiled
                               assemblies by other programs that enforce code integrity if the operating system is
                               configured to do so.

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

                        - 高级 -
/baseaddress:<地址>            要生成的库的基址
/bugreport:<文件>              创建“Bug 报告”文件
/codepage:<n>                  指定打开源文件时要使用的代码页
/utf8output                    以 UTF-8 编码格式输出编译器消息
/main:<类型>                   指定包含入口点的类型(忽略所有其他可能的入口点) (缩写: /m)
/fullpaths                     编译器生成完全限定路径
/filealign:<n>                 指定用于输出文件节的对齐方式
/pdb:<文件>                    指定调试信息文件名(默认值: 扩展名为 .pdb 的输出文件名)
/errorendlocation              输出每个错误的结束位置的行和列
/preferreduilang               指定首选输出语言名称。
/nostdlib[+|-]                 不引用标准库(mscorlib.dll)
/subsystemversion:<字符串>     指定此程序集的子系统版本
/lib:<文件列表>                指定要在其中搜索引用的附加目录
/errorreport:<字符串>          指定如何处理内部编译器错误: prompt、send、queue 或 none。默认值为 queue。
/appconfig:<文件>              指定一个包含程序集绑定设置的应用程序配置文件
/moduleassemblyname:<字符串>   此模块所属程序集的名称

 

posted @ 2022-05-27 17:17  六镇2012  阅读(114)  评论(0编辑  收藏  举报