使用.NET命令行编译器编译项目(如ASP.NET、C#等)(3)

指定要生成的程序集的名称。如果省略该标志,则输出文件的名称基于初始输入文件的名称(对于 *.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

 

创建将成为多文件程序集的一部分的模块。

 


编译 .NET 代码库

为了说明使用 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 所示。

使用.NET命令行编译器编译项目(如ASP.NET、C#等)

图 2. 新的 .NET 代码库

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjfzjj.html