Параметры компилятора
В этой статье описываются параметры командной строки компилятора для компилятора F#. dotnet build
Команда вызывает компилятор F# в файлах проекта F#. Файлы проекта F# отмечены расширением .fsproj
.
Среду компиляции также можно контролировать, задав свойства проекта. Для проектов, предназначенных для .NET Core, <OtherFlags>...</OtherFlags>
свойство "Другие флаги" используется .fsproj
для указания дополнительных параметров командной строки.
Параметры компилятора в алфавитном порядке
В следующей таблице показаны параметры компилятора, перечисленные в алфавитном порядке. Некоторые параметры компилятора F# похожи на параметры компилятора C#. В этом случае предоставляется ссылка на раздел параметров компилятора C#.
Параметр компилятора | Description |
---|---|
--allsigs |
Создает новый (или повторно создает существующий) файл подписи для каждого исходного файла в компиляции. Дополнительные сведения о файлах подписей см. в разделе "Подписи". |
-a filename.fs |
Создает библиотеку из указанного файла. Этот параметр является короткой формой --target:library filename.fs . |
--baseaddress:address |
Указывает предпочтительный базовый адрес для загрузки DLL. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /baseaddress (параметры компилятора C#). |
--codepage:id |
Указывает, какую кодовую страницу следует использовать во время компиляции, если требуемая страница не является текущей кодовой страницей по умолчанию для системы. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /code pages (параметры компилятора C#). |
--consolecolors |
Указывает, что ошибки и предупреждения используют цветной текст в консоли. |
--crossoptimize[+ or -] |
Включает или отключает оптимизацию между модулями. |
--delaysign[+|-] |
Задержка подписывает сборку только общедоступной частью ключа строгого имени. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /delaysign (параметры компилятора C#). |
--checked[+|-] |
Включает или отключает создание проверок переполнения. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /checked (параметры компилятора C#). |
--debug[+|-] -g[+|-] --debug:[full|pdbonly] -g: [full|pdbonly] |
Включает или отключает создание отладочной информации или задает тип отладочной информации для создания. Значение по умолчанию — это full позволяет подключиться к работающей программе. Выберите pdbonly , чтобы получить ограниченные сведения об отладке, хранящиеся в файле pdb (база данных программы).Эквивалентен параметру компилятора C# того же имени. Дополнительные сведения см. в разделе /debug (параметры компилятора C#). |
--define:symbol -d:symbol |
Определяет символ для использования в условной компиляции. |
--deterministic[+|-] |
Создает детерминированную сборку (включая GUID версии модуля и метку времени). Этот параметр нельзя использовать с подстановочными номерами версий и поддерживает только внедренные и переносимые типы отладки. |
--doc:xmldoc-filename |
Указывает компилятору создавать примечания XML-документации к указанному файлу. Дополнительные сведения см. в разделе XML Documentation. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /doc (параметры компилятора C#). |
--fullpaths |
Указывает компилятору создавать полные пути. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /fullpaths (параметры компилятора C#). |
--help -? |
Отображает сведения об использовании, включая краткое описание всех параметров компилятора. |
--highentropyva[+|-] |
Включите или отключите рандомизацию пространства адресов с высокой энтропией (ASLR), функцию повышенной безопасности. ОС случайным образом определяет расположения в памяти, где загружается инфраструктура для приложений (например, стек и куча). Если этот параметр включен, операционные системы могут использовать эту случайность для использования полного 64-разрядного адресного пространства на 64-разрядном компьютере. |
--keycontainer:key-container-name |
Задает контейнер ключа для строгого имени. |
--keyfile:filename |
Указывает имя файла открытого ключа для подписывания созданной сборки. |
--lib:folder-name -I:folder-name |
Указывает каталог для поиска сборок, на которые ссылается ссылка. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /lib (параметры компилятора C#). |
--linkresource:resource-info |
Связывает указанный ресурс с сборкой. Формат сведений о ресурсе filename[name[public|private]] Связывание одного ресурса с этим параметром является альтернативой внедрению всего файла ресурсов с параметром --resource .Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /linkresource (параметры компилятора C#). |
--mlcompatibility |
Игнорирует предупреждения, которые отображаются при использовании функций, предназначенных для совместимости с другими версиями машинного обучения. |
--noframework |
Отключает ссылку по умолчанию на сборку платформа .NET Framework. |
--nointerfacedata |
Указывает компилятору опустить ресурс, который он обычно добавляет в сборку, содержащую метаданные F#. |
--nologo |
При запуске компилятора не отображается текст баннера. |
--nooptimizationdata |
Указывает компилятору включить только оптимизацию, необходимую для реализации встроенных конструкций. Подавляет перекрестную встраивание, но повышает совместимость двоичных файлов. |
--nowin32manifest |
Указывает компилятору опустить манифест Win32 по умолчанию. |
--nowarn:warning-number-list |
Отключает определенные предупреждения, перечисленные по числу. Разделите каждый номер предупреждения запятой. Вы можете обнаружить номер предупреждения для любого предупреждения из выходных данных компиляции. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /nowarn (параметры компилятора C#). |
--optimize[+|-] [optimization-option-list] -O[+|-] [optimization-option-list] |
Включает или отключает оптимизации. Некоторые параметры оптимизации можно отключить или включить выборочно, перечислив их. Это: nojitoptimize , , nojittracking nolocaloptimize , nocrossoptimize . notailcalls |
--out:output-filename -o:output-filename |
Указывает имя скомпилированной сборки или модуля. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /out (параметры компилятора C#). |
--pathmap:path=sourcePath,... |
Определяет способ сопоставления физических путей и выходных имен исходных путей компилятором. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /pathmap (параметры компилятора C#). |
--pdb:pdb-filename |
Именует выходной файл PDB (база данных программы). Этот параметр применяется только при --debug включении.Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /pdb (параметры компилятора C#). |
--platform:platform-name |
Указывает, что созданный код будет выполняться только на указанной платформе (x86 илиItanium x64 ) или, если выбрано имя anycpu платформы, указывает, что созданный код может выполняться на любой платформе.Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /platform (параметры компилятора C#). |
--preferreduilang:lang |
Задает предпочитаемое имя языка и региональных параметров языка вывода (например, es-ES , ja-JP ). |
--quotations-debug |
Указывает, что дополнительные сведения об отладке следует выдавать для выражений, производных от литерала кавычек F# и отраженных определений. Сведения об отладке добавляются в настраиваемые атрибуты узла дерева выражений F#. См . кавычки кода и expr.CustomAttributes. |
--reference:assembly-filename -r:assembly-filename |
Делает код из сборки F# или платформа .NET Framework доступной для скомпилированного кода. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /reference (параметры компилятора C#). |
--resource:resource-filename |
Внедряет управляемый файл ресурсов в созданную сборку. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /resource (параметры компилятора C#). |
--sig:signature-filename |
Создает файл подписи на основе созданной сборки. Дополнительные сведения о файлах подписей см. в разделе "Подписи". |
--simpleresolution |
Указывает, что ссылки на сборки должны разрешаться с помощью правил Mono на основе каталогов, а не разрешения MSBuild. По умолчанию используется разрешение MSBuild, за исключением случаев, когда выполняется в Mono. |
--standalone |
Указывает, чтобы создать сборку, содержащую все его зависимости, чтобы она выполнялась самостоятельно, не требуя дополнительных сборок, таких как библиотека F#. |
--staticlink:assembly-name |
Статически связывает данную сборку и все ссылки на библиотеки DLL, зависящие от этой сборки. Используйте имя сборки, а не имя библиотеки DLL. |
--subsystemversion |
Указывает версию подсистемы ОС, которую будет использовать созданный исполняемый файл. Используйте 6.02 для Windows 8.1, 6.01 для Windows 7, 6.00 для Windows Vista. Этот параметр применяется только к исполняемым файлам, а не библиотекам DLL и должен использоваться только в том случае, если приложение зависит от определенных функций безопасности, доступных только в определенных версиях ОС. Если этот параметр используется, и пользователь пытается выполнить приложение в более низкой версии ОС, он завершится ошибкой с сообщением об ошибке. |
--tailcalls[+|-] |
Включает или отключает использование инструкции tail IL, что приводит к повторному использованию кадра стека для рекурсивных функций хвоста. Этот параметр по умолчанию включен. |
--target:[exe|winexe|library|module] filename |
Указывает тип и имя файла созданного скомпилированного кода.
|
--times |
Отображает сведения о времени компиляции. |
--utf8output |
Включает выходные данные компилятора печати в кодировке UTF-8. |
--warn:warning-level |
Задает уровень предупреждения (от 0 до 5). Уровень по умолчанию — 3. Каждое предупреждение предоставляется на уровне на основе его серьезности. Уровень 5 дает больше, но менее серьезных предупреждений, чем уровень 1. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /warn (параметры компилятора C#). |
--warnon:warning-number-list |
Включите определенные предупреждения, которые могут быть отключены по умолчанию или отключены другим параметром командной строки. Список разделен запятыми. |
--warnaserror[+|-] [warning-number-list] |
Включает или отключает параметр для отправки предупреждений в виде ошибок. Вы можете указать определенные номера предупреждений, которые будут отключены или включены. Параметры позже в командной строке переопределяют параметры ранее в командной строке. Например, чтобы указать предупреждения, которые не нужны в качестве ошибок, укажите --warnaserror+ --warnaserror-:warning-number-list .Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /warnaserror (параметры компилятора C#). |
--win32manifest:manifest-filename |
Добавляет файл манифеста Win32 в компиляцию. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /win32manifest (параметры компилятора C#). |
--win32res:resource-filename |
Добавляет в компиляцию файл ресурсов Win32. Этот параметр компилятора эквивалентен параметру компилятора C# с тем же именем. Дополнительные сведения см. в разделе /win32res ((C#) Compiler Options). |
Предупреждения о согласии
Компилятор F# поддерживает несколько предупреждений о выборе:
Число | Итоги | Level | Description |
---|---|---|---|
21 | Проверка рекурсии во время выполнения | 5 | Предупреждайте, когда рекурсивное использование проверяется на инициализацию звука во время выполнения. |
22 | Привязки, выполненные вне порядка | 5 | Предупреждайте, когда рекурсивная привязка может быть выполнена вне порядка из-за ссылки на пересылку. |
52 | Неявные копии структур | 5 | Предупреждайте, когда неизменяемая структура копируется, чтобы убедиться, что исходный объект не мутируется операцией. |
1178 | Неявное равенство и сравнение | 5 | Предупреждайте, когда объявление типа F# неявно выводится NoEquality или NoComparison атрибут отсутствует в типе. |
1182 | Неиспользуемые переменные | Н/Д | Предупреждать о неиспользуемых переменных. |
3180 | Неявные выделения кучи | Н/Д | Предупреждайте, когда изменяемый локальный объект неявно выделяется как эталонная ячейка, так как она была захвачена закрытием. |
3366 | Нотация индекса | Н/Д | Предупреждать, когда используется нотация expr.[idx] индекса F# 5. |
3517 | Сбой InlineIfLambda | Н/Д | Предупреждайте, если оптимизатор F# не может встраивать InlineIfLambda значение, например если вычисляемое значение функции было предоставлено вместо явной лямбда-лямбда-функции. |
3387 | op_Implicit превращение |
Н/Д | Предупреждать, когда неявное преобразование .NET используется в аргументе метода. |
3388 | Дополнительная неявная рассылка | Н/Д | Предупреждайте, когда неявно используется дополнительная рассылка, добавленная в F# 6. |
3389 | Неявное расширение | Н/Д | Предупреждайте, когда используется неявное числовое расширение. |
3390 | Неправильные xml-комментарии | Н/Д | Предупреждать, когда комментарии XML-документации неправильно сформированы различными способами. |
Эти предупреждения можно включить с помощью /warnon:NNNN
или <WarnOn>NNNN</WarnOn>
где NNNN
указан соответствующий номер предупреждения.
(Вы также можете использовать синтаксис <WarnOn>FSNNNN</WarnOn>
, например <WarnOn>FS3388</WarnOn>
.) Обратите внимание, что если WarnOn
свойство указано несколько раз, используется только последнее вхождение. Чтобы указать несколько предупреждений, укажите WarnOn
свойство один раз с разделительной запятой строкой в качестве его содержимого: <WarnOn>3388,3559</WarnOn>
Связанные статьи
Заголовок | Description |
---|---|
Параметры окна "Интерактивный F#" | Описывает параметры командной строки, поддерживаемые интерпретатором F#, fsi.exe. |
Справочник по свойствам проектов | Описывает пользовательский интерфейс для проектов, включая страницы свойств проекта, которые предоставляют параметры сборки. |