Csc - задача

Использует программу-оболочку для файла csc.exe и создает исполняемые файлы (EXE-файлы), библиотеки динамической компоновки (DLL-файлы) или модули кода (NETMODULE-файлы). Дополнительные сведения о программе csc.exe см. в разделе Параметры компилятора C#.

Параметры

В следующей таблице приводятся параметры задачи Csc.

Параметр Описание
AdditionalLibPaths Необязательный параметр String[].

Задает дополнительные каталоги для поиска ссылок. Дополнительные сведения см. в разделе -lib (параметры компилятора C#).
AddModules Необязательный параметр String.

Задает один или несколько модулей, которые должны быть частью сборки. Дополнительные сведения см. в разделе -addmodule (параметры компилятора C#).
AllowUnsafeBlocks Необязательный параметр Boolean.

Если этот параметр равен true, то компилируется код, в котором используется ключевое слово unsafe. Дополнительные сведения см. в разделе -unsafe (параметры компилятора C#).
ApplicationConfiguration Необязательный параметр String.

Задает файл конфигурации приложения, содержащий параметры привязки сборки.
BaseAddress Необязательный параметр String.

Указывает предпочтительный базовый адрес для загрузки DLL. Базовый адрес по умолчанию для библиотеки DLL задается в среде CLR платформы .NET Framework. Дополнительные сведения см. в разделе -baseaddress (параметры компилятора C#).
CheckForOverflowUnderflow Необязательный параметр Boolean.

Указывает, должны ли целочисленные арифметические операции, вызывающие переполнение типа данных, вызывать исключение во время выполнения. Дополнительные сведения см. в разделе -checked (параметры компилятора C#).
ChecksumAlgorithm Необязательный параметр String.

Задает алгоритм вычисления исходного файла проверка sum, хранящегося в PDB-файле. Алгоритм должен быть SHA1 (по умолчанию) или SHA256. См. раздел "Контрольная сумма".
CodeAnalysisRuleset Необязательный параметр String.

Указывает файл набора правил, который отключает определенные диагностики. См. раздел CodeAnalysisRuleset.
CodePage Необязательный параметр Int32.

Задает кодовую страницу, которая будет использоваться для всех файлов исходного кода при компиляции. Дополнительные сведения см. в разделе -codepage (параметры компилятора C#).
DebugType Необязательный параметр String.

Задает тип отладки. DebugType может иметь значение full или pdbonly. По умолчанию задано значение full, разрешающее подключение отладчика к исполняемой программе. Значение pdbonly разрешает отладку исходного кода при запуске программы в отладчике, но при этом ассемблерный код отображается только при подключении исполняемой программы к отладчику.

Этот параметр переопределяет параметр EmitDebugInformation.

Дополнительные сведения см. в разделе -debug (параметры компилятора C#).
DefineConstants Необязательный параметр String.

Определяет символы препроцессора. Дополнительные сведения см. в разделе -define (параметры компилятора C#).
DelaySign Необязательный параметр Boolean.

Значение true предписывает лишь поместить в сборку открытый ключ. Значение false предписывает создание полностью подписанной сборки.

Этот параметр не оказывает никакого эффекта, если не используется вместе с параметром KeyFile или KeyContainer.

Дополнительные сведения см. в разделе -delaysign (параметры компилятора C#).
Deterministic Необязательный параметр Boolean.

Если задано значение true, компилятор будет выдавать сборку, чье двоичное содержимое идентично в разных компиляциях, если входные данные идентичны.

Дополнительные сведения см. в разделе -deterministic (параметры компилятора C#).
DisabledWarnings Необязательный параметр String.

Задает список предупреждений, которые следует отключить. Дополнительные сведения см. в разделе -nowarn (параметры компилятора C#).
DocumentationFile Необязательный параметр String.

Обрабатывает комментарии к документации в XML-файл. Дополнительные сведения см. в разделе -doc (параметры компилятора C#).
EmbedAllSources Необязательный параметр Boolean.

Внедрение всех исходных файлов в PDB-файл. Дополнительные сведения см. в разделе -embed (параметры компилятора C#).
EmitDebugInformation Необязательный параметр Boolean.

Если этот параметр равен true, задача генерирует отладочную информацию и помещает ее в файл базы данных программы (PDB-файл). Если задано значение false, задача не генерирует отладочную информацию. По умолчанию — false. Дополнительные сведения см. в разделе -debug (параметры компилятора C#).
ErrorLog Необязательный параметр String.

Указывает файл для записи всех компиляторов и анализаторов диагностика. См . журнал ошибок.
ErrorReport Необязательный параметр String.

Предоставляет удобный способ для сообщения о внутренней ошибке C# в корпорацию Майкрософт. Этот параметр может иметь значение prompt, send или none. Если установлено значение prompt, в случае внутренней ошибки компилятора будет выведено сообщение с предложением отправить электронный отчет об ошибке в корпорацию Майкрософт. Если установлено значение send, сообщение об ошибке отправляется автоматически. Если установлено значение none, отчет об ошибке выводится только в текстовых выходных данных компилятора. По умолчанию — none. Дополнительные сведения см. в разделе -errorreport (параметры компилятора C#).
FileAlignment Необязательный параметр Int32.

Задает размер разделов в выходном файле. Дополнительные сведения см. в разделе -filealign (параметры компилятора C#).
GenerateFullPaths Необязательный параметр Boolean.

Если этот параметр равен true, то в выходных данных компилятора задается абсолютный путь к файлу. Если установлено значение false, задается имя файла. По умолчанию — false. Дополнительные сведения см. в разделе -fullpaths (параметры компилятора C#).
HighEntropyVA Необязательный параметр Boolean.

Включите выборку макета пространства адресов с высокой энтропией (ASLR). См. раздел HighEntropyVA.
KeyContainer Необязательный параметр String.

Задает имя контейнера криптографического ключа. Дополнительные сведения см. в разделе -keycontainer (параметры компилятора C#).
KeyFile Необязательный параметр String.

Задает имя файла, содержащего криптографический ключ. Дополнительные сведения см. в разделе -keyfile (параметры компилятора C#).
LangVersion Необязательный параметр String.

Задает используемую версию языка. Дополнительные сведения см. в разделе -langversion (параметры компилятора C#).
LinkResources Необязательный параметр ITaskItem[].

Создается ссылка на ресурс .NET Framework в выходном файле. Файл ресурса не помещается в выходной файл.

Элементы, передаваемые в этот параметр, могут иметь необязательные метаданные LogicalName и Access. LogicalName соответствует аргументу identifier параметра /linkresource, а Access соответствует аргументу accessibility-modifier. Дополнительные сведения см. в разделе -linkresource (параметры компилятора C#).
MainEntryPoint Необязательный параметр String.

Указывает расположение метода Main. Дополнительные сведения см. в разделе -main (параметры компилятора C#).
ModuleAssemblyName Необязательный параметр String.

Задает имя сборки, частью которой будет этот модуль.
NoConfig Необязательный параметр Boolean.

Значение true предписывает компилятору не использовать файл csc.rsp. Дополнительные сведения см. в разделе -noconfig (параметры компилятора C#).
NoLogo Необязательный параметр Boolean.

Если этот параметр равен true, отображение заголовка компилятора отключается. Дополнительные сведения см. в разделе -nologo (параметры компилятора C#).
NoStandardLib Необязательный параметр Boolean.

Значение true отключает импорт библиотеки mscorlib.dll, определяющей все пространство имен System. Используйте этот параметр, если вы хотите определить или создать собственное пространство имен System и соответствующие объекты. Дополнительные сведения см. в разделе -nostdlib (параметры компилятора C#).
NoWin32Manifest Необязательный параметр Boolean.

Если значение true, манифест Win32 по умолчанию не включается.
Nullable Необязательный параметр String.

Указывает контекст, допускающий значение NULL. Аргумент должен иметь одно из следующих значений: enable, disable, warnings или annotations. См. раздел NULL.
Optimize Необязательный параметр Boolean.

Значение true включает оптимизации. Значение false отключает оптимизации. Дополнительные сведения см. в разделе -optimize (параметры компилятора C#).
OutputAssembly Необязательный выходной параметр String .

Указывает имя выходного файла. Дополнительные сведения см. в разделе -out (параметры компилятора C#).
OutputRefAssembly Необязательный параметр String.

Задает имя выходного файла базовой сборки. Дополнительные сведения см. в разделе -refout (параметры компилятора C#).
PathMap Необязательный параметр String.

Определяет способ сопоставления физических путей и выходных имен исходных путей компилятором. См . pathMap.
PdbFile Необязательный параметр String.

Задает имя файла отладочной информации. По умолчанию используется имя файла выходных данных с расширением .pdb.
Platform Необязательный параметр String.

Указывает целевую платформу процессора для выходного файла. Этот параметр может иметь значение x86, x64 или anycpu. По умолчанию — anycpu. Дополнительные сведения см. в разделе -platform (параметры компилятора C#).
PreferredUILang Необязательный параметр String.

Указывает язык, в котором компилятор C# отображает выходные данные, такие как сообщения об ошибках. См . раздел PreferredUILang.
PublicSign Необязательный параметр Boolean.

Публично подписывая выходную сборку. См. раздел PublicSign.
References Необязательный параметр ITaskItem[].

Вызывает импорт задачей информации об открытых типах из заданных элементов в текущий проект. Дополнительные сведения см. в разделе -reference (параметры компилятора C#).

Вы можете задать псевдоним ссылки C# в файле MSBuild, добавив метаданные Aliases к исходному элементу "Reference". Например, требуется установить псевдоним LS1 в следующей командной строке CSC.

CSC /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs

Для этого используется следующий код.

<Reference Include="MyCodeLibrary"> <Aliases>LS1</Aliases> </Reference>
RefOnly Необязательный параметр Boolean.

Создадим эталонную сборку вместо полной сборки в качестве основного выходных данных. См. раздел ProduceOnlyReferenceAssembly.
ReportAnalyzer Необязательный параметр Boolean.

Включение в отчет дополнительных сведений об анализаторе, включая время выполнения. См . отчетAnalyzer.
Resources Необязательный параметр ITaskItem[].

Внедряет ресурс .NET Framework в выходной файл.

Элементы, передаваемые в этот параметр, могут иметь необязательные метаданные LogicalName и Access. LogicalName соответствует аргументу identifier параметра /resource, а Access соответствует аргументу accessibility-modifier. Дополнительные сведения см. в разделе -resource (параметры компилятора C#).
ResponseFiles Необязательный параметр String.

Задает файл ответов, содержащий команды для этой задачи. Дополнительные сведения см. в документации синтаксиса @ (указание файла ответа).
Sources Необязательный параметр ITaskItem[].

Указывает один или несколько исходных файлов C#.
TargetType Необязательный параметр String.

Задает формат выходного файла. Этот параметр может принимать одно из следующих значений: library (создается библиотека кода), exe (создается консольное приложение), module (создается модуль) или winexe (создается программа Windows). Значение по умолчанию — library. Дополнительные сведения см. в разделе -target (параметры компилятора C#).
TreatWarningsAsErrors Необязательный параметр Boolean.

Если этот параметр равен true, все предупреждения обрабатываются как ошибки. Дополнительные сведения см. в разделе -warnaserror (параметры компилятора C#).
UseHostCompilerIfAvailable Необязательный параметр Boolean.

Предписывает задаче использовать внутрипроцессный объект компилятора, если он доступен. Используется только в Visual Studio.
Utf8Output Необязательный параметр Boolean.

Регистрирует выходные данные компилятора в кодировке UTF-8. Дополнительные сведения см. в разделе -utf8output (параметры компилятора C#).
WarningLevel Необязательный параметр Int32.

Задает уровень предупреждений, которые должны отображаться компилятором. Дополнительные сведения см. в разделе -warn (параметры компилятора C#).
WarningsAsErrors Необязательный параметр String.

Задает список предупреждений, которые следует обрабатывать как ошибки. Дополнительные сведения см. в разделе -warnaserror (параметры компилятора C#).

Этот параметр переопределяет параметр TreatWarningsAsErrors.
WarningsNotAsErrors Необязательный параметр String.

Задает список предупреждений, которые не следует обрабатывать как ошибки. Дополнительные сведения см. в разделе -warnaserror (параметры компилятора C#).

Этот параметр имеет смысл только в том случае, если для параметра TreatWarningsAsErrors задано значение true.
Win32Icon Необязательный параметр String.

Вставляет файл ICO в сборку, которая придает выходному файлу необходимый вид в проводнике. Дополнительные сведения см. в разделе -win32icon (параметры компилятора C#).
Win32Manifest Необязательный параметр String.

Задает манифест Win32, который требуется включить.
Win32Resource Необязательный параметр String.

Вставляет файл ресурсов Win32 (RES-файл) в выходной файл. Дополнительные сведения см. в разделе -win32res (параметры компилятора C#).

Параметры ToolTaskExtension

Эта задача наследуется от класса ToolTaskExtension, который наследуется от класса ToolTask, который, в свою очередь, наследуется от класса Task. Эта цепочка наследования добавляет несколько параметров в задачи, которые от них происходят.

В следующей таблице описываются параметры базовых классов:

Параметр Описание
EchoOff Необязательный параметр bool.

Если задано значение true, то задача передает /Q в командную строку cmd.exe и командная строка не копируется в stdout.
EnvironmentVariables Необязательный параметр массива String.

Массив определений переменных среды, разделенных точкой с запятой. Каждое определение должно содержать имя и значение переменной среды, разделенные знаком равенства. Эти переменные частично передаются в порожденный исполняемый файл, дополняя или выборочно переопределяя обычный блок среды. Например, Variable1=Value1;Variable2=Value2.
ExitCode Необязательный выходной параметр Int32, доступный только для чтения.

Задает код выхода, предоставляемый выполняемой командой. Если задача зарегистрировала какие-либо ошибки, но процесс имеет код выхода 0 (успешное завершение), этот параметр имеет значение -1.
LogStandardErrorAsError Необязательный параметр bool.

Если он имеет значение true, то все сообщения, полученные в стандартном потоке ошибок, регистрируются как ошибки.
StandardErrorImportance Необязательный параметр String.

степень важности, с которой текст из стандартного потока ошибок следует регистрировать в журнале.
StandardOutputImportance Необязательный параметр String.

Степень важности, с которой текст из стандартного выходного потока следует регистрировать в журнале.
Timeout Необязательный параметр Int32.

Задает промежуток времени в миллисекундах, после которого исполняемый файл задачи прекращается. Значение по умолчанию — Int.MaxValue. Оно указывает, что период ожидания отсутствует. Время ожидания в миллисекундах.
ToolExe Необязательный параметр string.

Он может реализовываться в проектах для переопределения параметра ToolName. Задачи могут переопределять его для сохранения параметра ToolName.
ToolPath Необязательный параметр string.

Указывает расположение, откуда задача загружает базовый исполняемый файл. Если этот параметр не задан, задача использует путь установки пакета SDK, соответствующий версии платформы, на которой выполняется MSBuild.
UseCommandProcessor Необязательный параметр bool.

Если задано значение true, эта задача создает пакетный файл для командной строки и выполняет его с помощью командного процессора вместо непосредственного выполнения команды.
YieldDuringToolExecution Необязательный параметр bool.

Если задано значение true, эта задача создает узел при выполнении его задачи.

Пример

В следующем примере задача Csc используется для компиляции исполняемого файла из исходных файлов в коллекции элементов Compile.

<CSC
    Sources="@(Compile)"
    OutputAssembly="$(AppName).exe"
    EmitDebugInformation="true" />

См. также