/target (параметры компилятора C#)
Параметр компилятора /target можно указать в одной из четырех форм:
/target:exe
Создание EXE-файла/target:library
Создание библиотеки кода./target:module
Создание модуля./target:winexe
Создание программы Windows.
Если не указывается параметр /target:module, то использование параметра /target приводит к включению манифеста сборки .NET Framework в выходной файл. Дополнительные сведения см. в разделах Сборки в среде CLR и Общие атрибуты.
Манифест сборки помещается в первый выходной EXE-файл в компиляции или в первый DLL-файл, если выходной EXE-файл не создается. Например, в следующей командной строке манифест будет помещен в файл 1.exe:
csc /out:1.exe t1.cs /out:2.netmodule t2.cs
Компилятор создает только один манифест сборки для каждой компиляции. В манифест сборки заносятся сведения о всех файлах, участвующих в компиляции. Все выходные файлы, за исключением тех, которые были созданы с помощью параметра /target:module, содержат манифест сборки. При создании нескольких выходных файлов из командной строки создается только один манифест сборки, который помещается в первый выходной файл, указанный в командной строке. Вне зависимости от типа первого выходного файла (/target:exe, /target:winexe, /target:library или /target:module), все остальные файлы, создаваемые в той же компиляции, должны быть модулями (/target:module).
При создании сборки можно указать весь код или его часть как CLS-совместимые с помощью атрибута CLSCompliantAttribute.
// target_clscompliant.cs
[assembly:System.CLSCompliant(true)] // specify assembly compliance
[System.CLSCompliant(false)] // specify compliance for an element
public class TestClass
{
public static void Main() {}
}
Дополнительные сведения об установке этого параметра компилятора программным путем см. в разделе OutputType.