-target 编译器选项有四种指定形式:
-target:appcontainerexe | 为 Windows 8.x 应用商店创建 .exe 文件。 |
-target:exe | 创建 .exe 文件。 |
-target:library | 创建代码库。 |
-target:module | 创建 module. |
-target:winexe | 创建 Windows program. |
-target:winmdobj | 创建中间 .winmdobj 文件。 |
除非指定 -target:module,否则 -target 会将 .NET Framework 程序集清单放在输出文件中。更多信息,请参阅公共语言运行时和公共属性中的程序集。
程序集清单将放在编译中的第一个 .exe 输出文件中,如果没有 .exe 输出文件,则放在第一个 DLL 中。例如,在以下命令行中,清单将放在 1.exe 中:
xsc -out:1.exe t1.prg -out:2.netmodule t2.prg
编译器每次编译只创建一个程序集清单。编译中所有文件的信息都会放在程序集清单中。除使用 -target:module 创建的文件外,所有输出文件都可以包含一个程序集清单。在命令行下生成多个输出文件时,只能创建一个程序集清单,而且必须放入命令行指定的第一个输出文件中。无论第一个输出文件是什么(/target:exe、-target:winexe、-target:library 或 -target:module),在同一编译中生成的任何其他输出文件都必须是模块 (/target:module)。
如果您创建了程序集,您可以使用 CLSCompliantAttribute 属性指出全部或部分代码符合 CLS 标准。
// target_clscompliant.prg
[assembly:System.CLSCompliant(true)] // specify assembly compliance
[System.CLSCompliant(false)]; // specify compliance for an element
CLASS TestClass
PUBLIC STATIC METHOD Start AS VOID
RETURN
END CLASS
有关以编程方式设置该编译器选项的更多信息,请参阅 OutputType。