Compiler.Compile(String[], String[], String, String[], IDictionary) 方法

定义

将给定的 C# 源编译到指定的目标文件。

public:
 static cli::array <Microsoft::CSharp::CompilerError ^> ^ Compile(cli::array <System::String ^> ^ sourceTexts, cli::array <System::String ^> ^ sourceTextNames, System::String ^ target, cli::array <System::String ^> ^ imports, System::Collections::IDictionary ^ options);
public static Microsoft.CSharp.CompilerError[] Compile(string[] sourceTexts, string[] sourceTextNames, string target, string[] imports, System.Collections.IDictionary options);
static member Compile : string[] * string[] * string * string[] * System.Collections.IDictionary -> Microsoft.CSharp.CompilerError[]
Public Shared Function Compile (sourceTexts As String(), sourceTextNames As String(), target As String, imports As String(), options As IDictionary) As CompilerError()

参数

sourceTexts
String[]

字符串类型的数组,每个数组都有 C# 代码。

sourceTextNames
String[]

一个字符串类型的数组,其中包含每个 sourceTexts 的文件名。

target
String

输出文件名。 必须填写此参数。

imports
String[]

字符串类型的数组,其中包含要引用的文件。

options
IDictionary

编译器 IDictionary 选项。

返回

以类型 CompilerError数组的形式返回诊断消息。 如果数组为空或所有元素均为警告,则编译成功。

例外

sourceTextsnull

-或-

sourceTextNamesnull

-或-

targetnull

sourceTexts 为空数组。

-或-

sourceTextNames 大小与 sourceTexts.

注解

参数中的每个 sourceTexts 字符串都等效于单个源文件。 必须至少有一个 sourceTexts 元素。

参数中的 sourceTextNames 文件名用于编译器诊断和调试信息。 该数组是必需的,但可以使用该指令在本地重写该 #line 数组。 数组必须具有与 sourceTexts 参数相同的元素数。

参数 imports/reference 编译器选项相同。 此参数可以为 null

options对于参数,该键是编译器选项的简短形式。 该值是选项所需的值。 参数 options 可以是 null. 无法识别某些编译器选项。 下表显示了已识别的选项和值。

密钥名称 Usage
addmodule 要包含在此程序集中的模块列表。 模块名称必须由竖线或管道字符分隔。 值的类型必须为 String。 请参阅 -addmodule (C# 编译器选项)。
baseaddress 库的基址。 值的类型必须为 UInt32。 请参阅 -baseaddress (C# 编译器选项)。
bugreport 生成 bug 报告文件。 值的类型必须为 String。 请参阅 -bugreport (C# 编译器选项)。
checked 将默认表达式计算设置为选中(或未选中)。 值的类型必须为 Boolean。 请参阅 -checked (C# 编译器选项)。
d 要定义的分号分隔符号的列表。 值的类型必须为 String。 请参阅 -define (C# 编译器选项)。
debug 使用输出发出调试信息。 值的类型必须为 Boolean。 不能指定完全或仅 pdb。 请参阅 -debug (C# 编译器选项)。
doc 要在其中放置 XML 注释的文件名。 值的类型必须为 String。 请参阅 -doc (C# 编译器选项)。
filealign PE 节对齐大小。 值的类型必须为 UInt32。 请参阅 -filealign (C# 编译器选项)。
incr 启用增量重新生成。 值的类型必须为 Boolean
lib 查找模块和引用的程序集时要搜索的其他路径。 值的类型必须为 String。 请参阅 -lib (C# 编译器选项)。
linkres 将托管资源链接到程序集。 值的类型必须为 String。 请参阅 -linkresource (C# 编译器选项)。
m 键入以搜索 Main 方法。 值的类型必须为 String。 请参阅 -main (C# 编译器选项)。
nostdlib 不要自动引用 mscorlib.dll。 值的类型必须为 Boolean。 请参阅 -nostdlib (C# 编译器选项)。
nowarn 要不报告的分号分隔警告编号的列表。 值的类型必须为 String。 请参阅 -nowarn (C# 编译器选项)。
o 启用编译器优化。 值的类型必须为 Boolean。 请参阅 -optimize (C# 编译器选项)。
r 引用的程序集。 值的类型必须为 String。 如果指定了多个程序集,则文件名必须用竖线或管道字符分隔。 请参阅 -reference (C# 编译器选项)。
res 嵌入托管资源。 值的类型必须为 String。 请参阅 -resource (C# 编译器选项)。
target 输出文件目标类型,以下类型之一:“library”、“exe”、“winexe”或“module”。 值的类型必须为 String。 请参阅 -target (C# 编译器选项)。
unsafe 允许不安全的构造。 值的类型必须为 Boolean。 请参阅 -unsafe (C# 编译器选项)。
w 警告级别(0-4)。 值的类型必须为 String。 请参阅 -warn (C# 编译器选项)。
warnaserror 将警告诊断报告为错误。 值的类型必须为 Boolean。 请参阅 -warnaserror (C# 编译器选项)。
win32icon 自动生成的 Win32 资源的 Win32 图标。 值的类型必须为 String。 请参阅 -win32icon (C# 编译器选项)。
win32res Win32 资源文件。 值的类型必须为 String。 请参阅 -win32res (C# 编译器选项)。

适用于

另请参阅