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 是一个空数组。

- 或 -

sourceTextNamessourceTexts 的大小不同。

注解

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

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

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

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

键名 使用情况
addmodule 要包含在此程序集中的模块列表。 模块名称必须用竖线或竖线字符分隔。 值的类型必须为 String。 请参阅 -addmodule (C# 编译器选项)
baseaddress 库的基址。 值的类型必须为 UInt32。 请参阅 -baseaddress (C# 编译器选项)
bugreport 生成 bug 报告文件。 值的类型必须为 String。 请参阅 -bugreport (C# 编译器选项)
checked 将默认表达式计算设置为选中 (或未选中) 。 值的类型必须为 Boolean。 请参阅 -checked (C# 编译器选项)
d 要定义的分号分隔符号的列表。 值的类型必须为 String。 请参阅 -define (C# 编译器选项)
debug 发出带有输出的调试信息。 值的类型必须为 Boolean。 无法指定 full 或 pdb-only。 请参阅 -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# 编译器选项

适用于

另请参阅