指定要生成的程序集的名称。如果省略该标志,则输出文件的名称基于初始输入文件的名称(对于 *.dll 程序集而言)或定义 Main() 方法的类的名称(对于 *.exe 程序集而言)。
否
/target (/t)
指定要创建的程序集的文件格式。
否
/doc
用于生成 XML 文档文件。
否
/delaysign
使您可以使用强名称的延迟签名生成程序集。
是
/keyfile
指定用于对程序集进行强命名的 *.snk 文件的路径。
是
/keycontainer
指定包含 *.snk 文件的容器的名称。
是
/platform
指定必须存在以便承载程序集的 CPU(x86、Itanium、x64 或 anycpu)。默认为 anycpu。
是
也许用途最多的输入/输出选项是 /target。该标志通过使用附加的修饰(表 4)告诉编译器您对生成哪个类型的 .NET 程序集感兴趣。
表 4. /target 标志的变体
目标修饰
定义
/target:exe
创建基于控制台的程序集。如果未指定 /target 选项,则这是默认选项。
/target:winexe
创建基于 Windows 窗体的可执行程序集。尽管您可以使用 /target:exe 创建 Windows 窗体应用程序,但控制台窗口将在主窗体的后台隐现。
/target:library
用于生成 .NET 代码库 (*.dll)。
/target:module
创建将成为多文件程序集的一部分的模块。
为了说明使用 csc.exe 的输入/输出选项的过程,我们将创建一个强命名的单文件程序集 (MyCodeLibrary.dll),以定义一个名为 SimpleType 的类类型。为了展示 /doc 选项的作用,我们还将生成一个 XML 文档文件。
首先,请在驱动器 C 上创建一个名为 MyCSharpCode 的新文件夹。在该文件夹中,创建一个名为 MyCodeLibrary 的子目录。使用您选择的文本编辑器(notepad.exe 就完全合乎需要)输入以下代码,并将该文件保存为刚刚创建的 C:\MyCSharpCode\MyCodeLibrary 目录中的 simpleType.cs。
// simpleType.cs using System; namespace MyCodeLibrary { /// <summary> /// Simple utility type. /// </summary> public class SimpleType { /// <summary> /// Print out select environment information /// </summary> public static void DisplayEnvironment() { Console.WriteLine("Location of this program: {0}", Environment.CurrentDirectory); Console.WriteLine("Name of machine: {0}", Environment.MachineName); Console.WriteLine("OS of machine: {0}", Environment.OSVersion); Console.WriteLine("Version of .NET: {0}", Environment.Version); } } }现在,打开命令提示,并且使用 cd(更改目录)命令导航到 simpleType.cs 文件的位置 (C:\MyCSharpCode\MyCodeLibrary):
cd MyCSharpCode\MyCodeLibrary或
cd C:\MyCSharpCode\MyCodeLibrary要将该源代码文件编译为名为 MyCodeLibrary.dll 的单文件程序集,请指定以下命令集:
csc /t:library /out:MyCodeLibrary.dll simpleType.cs此时,您应当在应用程序目录中具有一个全新的 .NET 代码库,如图 2 所示。
图 2. 新的 .NET 代码库