Compiler.Compile(String[], String[], String, String[], IDictionary) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
编译指定的目标文件的给定 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 类型的数组返回。 数组为空或所有元素都为警告,表示编译成功。
例外
注解
参数中的每个 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# 编译器选项 。 |