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" />