Opções do compilador
Este artigo descreve as opções de linha de comando do compilador para o compilador F#. O comando dotnet build
invoca o compilador F# em arquivos de projeto F#. Os arquivos de projeto F# são anotados com a .fsproj
extensão.
O ambiente de compilação também pode ser controlado definindo as propriedades do projeto. Para projetos destinados ao .NET Core, a propriedade "Other flags", <OtherFlags>...</OtherFlags>
em .fsproj
, é usada para especificar opções de linha de comando extras.
Opções do compilador listadas alfabeticamente
A tabela a seguir mostra as opções do compilador listadas em ordem alfabética. Algumas das opções do compilador F# são semelhantes às opções do compilador C#. Se esse for o caso, um link para o tópico de opções do compilador C# é fornecido.
Opção do compilador | Description |
---|---|
--allsigs |
Gera um novo (ou regenera um arquivo de assinatura existente) para cada arquivo de origem na compilação. Para obter mais informações sobre arquivos de assinatura, consulte Assinaturas. |
-a filename.fs |
Gera uma biblioteca a partir do arquivo especificado. Esta opção é uma forma abreviada de --target:library filename.fs . |
--baseaddress:address |
Especifica o endereço base preferencial no qual carregar uma DLL. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /baseaddress (C# Compiler Options). |
--codepage:id |
Especifica qual página de código usar durante a compilação se a página necessária não for a página de código padrão atual para o sistema. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /code pages (C# Compiler Options). |
--consolecolors |
Especifica que os erros e avisos usam texto codificado por cores no console. |
--crossoptimize[+ or -] |
Habilita ou desabilita otimizações entre módulos. |
--delaysign[+|-] |
Atrasa a montagem usando apenas a parte pública da chave de nome forte. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /delaysign (C# Compiler Options). |
--checked[+|-] |
Habilita ou desabilita a geração de verificações de estouro. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /checked (C# Compiler Options). |
--debug[+|-] -g[+|-] --debug:[full|pdbonly] -g: [full|pdbonly] |
Habilita ou desabilita a geração de informações de depuração ou especifica o tipo de informações de depuração a serem geradas. O padrão é full , que permite anexar a um programa em execução. Opte por pdbonly obter informações de depuração limitadas armazenadas em um arquivo pdb (banco de dados de programas).Equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte, /debug (Opções do compilador C#). |
--define:symbol -d:symbol |
Define um símbolo para uso na compilação condicional. |
--deterministic[+|-] |
Produz um assembly determinístico (incluindo GUID da versão do módulo e carimbo de data/hora). Essa opção não pode ser usada com números de versão curinga e suporta apenas tipos de depuração incorporados e portáteis |
--doc:xmldoc-filename |
Instrui o compilador a gerar comentários da documentação XML para o arquivo especificado. Para obter mais informações, consulte Documentação XML. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /doc (C# Compiler Options). |
--fullpaths |
Instrui o compilador a gerar caminhos totalmente qualificados. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /fullpaths (C# Compiler Options). |
--help -? |
Exibe informações de uso, incluindo uma breve descrição de todas as opções do compilador. |
--highentropyva[+|-] |
Habilite ou desabilite a ASLR (randomização de layout de espaço de endereço) de alta entropia, um recurso de segurança aprimorado. O sistema operacional randomiza os locais na memória onde a infraestrutura para aplicativos (como a pilha e o heap) são carregadas. Se você habilitar essa opção, os sistemas operacionais poderão usar essa randomização para usar o espaço de endereço completo de 64 bits em uma máquina de 64 bits. |
--keycontainer:key-container-name |
Especifica um contêiner de chave de nome forte. |
--keyfile:filename |
Especifica o nome de um arquivo de chave pública para assinar o assembly gerado. |
--lib:folder-name -I:folder-name |
Especifica um diretório a ser pesquisado para assemblies que são referenciados. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /lib (C# Compiler Options). |
--linkresource:resource-info |
Vincula um recurso especificado ao assembly. O formato de resource-info é filename[name[public|private]] Vincular um único recurso a essa opção é uma alternativa para incorporar um arquivo de recurso inteiro com a --resource opção.Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /linkresource (C# Compiler Options). |
--mlcompatibility |
Ignora os avisos que aparecem quando você usa recursos projetados para compatibilidade com outras versões do ML. |
--noframework |
Desabilita a referência padrão para o assembly do .NET Framework. |
--nointerfacedata |
Instrui o compilador a omitir o recurso que normalmente adiciona a um assembly que inclui metadados específicos do F#. |
--nologo |
Não mostra o texto do banner ao iniciar o compilador. |
--nooptimizationdata |
Instrui o compilador a incluir apenas a otimização essencial para implementar construções embutidas. Inibe o inlining entre módulos, mas melhora a compatibilidade binária. |
--nowin32manifest |
Instrui o compilador a omitir o manifesto Win32 padrão. |
--nowarn:warning-number-list |
Desativa avisos específicos listados por número. Separe cada número de aviso por vírgula. Você pode descobrir o número de aviso para qualquer aviso da saída da compilação. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /nowarn (C# Compiler Options). |
--optimize[+|-] [optimization-option-list] -O[+|-] [optimization-option-list] |
Habilita ou desabilita otimizações. Algumas opções de otimização podem ser desativadas ou ativadas seletivamente listando-as. São eles: nojitoptimize , nojittracking , , nolocaloptimize , notailcalls nocrossoptimize . |
--out:output-filename -o:output-filename |
Especifica o nome do assembly ou módulo compilado. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /out (C# Compiler Options). |
--pathmap:path=sourcePath,... |
Especifica como mapear caminhos físicos para nomes de caminho de origem enviados pelo compilador. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /pathmap (C# Compiler Options). |
--pdb:pdb-filename |
Nomeia o arquivo PDB (banco de dados de programa) de depuração de saída. Esta opção só se aplica quando --debug também está ativada.Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /pdb (C# Compiler Options). |
--platform:platform-name |
Especifica que o código gerado só será executado na plataforma especificada (x86 , , ou x64 ), ou, se o nome anycpu da plataforma for escolhido, especifica que o código gerado pode ser executado Itanium em qualquer plataforma.Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /platform (C# Compiler Options). |
--preferreduilang:lang |
Especifica o nome da cultura do idioma de saída preferido (por exemplo, es-ES ja-JP , ). |
--quotations-debug |
Especifica que informações de depuração extras devem ser emitidas para expressões derivadas de literais de cotação F# e definições refletidas. As informações de depuração são adicionadas aos atributos personalizados de um nó da árvore de expressão F#. Consulte Cotações de código e Expr.CustomAttributes. |
--reference:assembly-filename -r:assembly-filename |
Torna o código de um assembly F# ou .NET Framework disponível para o código que está sendo compilado. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /reference (C# Compiler Options). |
--resource:resource-filename |
Incorpora um arquivo de recurso gerenciado no assembly gerado. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /resource (C# Compiler Options). |
--sig:signature-filename |
Gera um arquivo de assinatura com base no assembly gerado. Para obter mais informações sobre arquivos de assinatura, consulte Assinaturas. |
--simpleresolution |
Especifica que as referências de assembly devem ser resolvidas usando regras Mono baseadas em diretório em vez de resolução MSBuild. O padrão é usar a resolução MSBuild, exceto quando executado em Mono. |
--standalone |
Especifica para produzir um assembly que contém todas as suas dependências para que ele seja executado sozinho sem a necessidade de assemblies adicionais, como a biblioteca F#. |
--staticlink:assembly-name |
Estaticamente vincula o assembly fornecido e todas as DLLs referenciadas que dependem desse assembly. Use o nome do assembly, não o nome da DLL. |
--subsystemversion |
Especifica a versão do subsistema operacional a ser usada pelo executável gerado. Use 6.02 para Windows 8.1, 6.01 para Windows 7, 6.00 para Windows Vista. Essa opção só se aplica a executáveis, não a DLLs, e só precisa ser usada se seu aplicativo depender de recursos de segurança específicos disponíveis apenas em determinadas versões do sistema operacional. Se essa opção for usada e um usuário tentar executar seu aplicativo em uma versão inferior do sistema operacional, ele falhará com uma mensagem de erro. |
--tailcalls[+|-] |
Habilita ou desabilita o uso da instrução tail IL, que faz com que o quadro da pilha seja reutilizado para funções recursivas de cauda. Por predefinição, esta opção encontra-se ativada. |
--target:[exe|winexe|library|module] filename |
Especifica o tipo e o nome do arquivo do código compilado gerado.
|
--times |
Exibe informações de tempo para compilação. |
--utf8output |
Permite imprimir a saída do compilador na codificação UTF-8. |
--warn:warning-level |
Define um nível de aviso (0 a 5). O nível padrão é 3. Cada aviso recebe um nível baseado na sua gravidade. O nível 5 emite mais avisos, mas menos severos, do que o nível 1. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /warn (C# Compiler Options). |
--warnon:warning-number-list |
Habilite avisos específicos que podem estar desativados por padrão ou desabilitados por outra opção de linha de comando. A lista é separada por vírgula. |
--warnaserror[+|-] [warning-number-list] |
Habilita ou desabilita a opção de relatar avisos como erros. Você pode fornecer números de aviso específicos para serem desativados ou ativados. As opções posteriores na linha de comando substituem as opções anteriores na linha de comando. Por exemplo, para especificar os avisos que você não deseja que sejam relatados como erros, especifique --warnaserror+ --warnaserror-:warning-number-list .Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /warnaserror (C# Compiler Options). |
--win32manifest:manifest-filename |
Adiciona um arquivo de manifesto Win32 à compilação. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /win32manifest (Opções do compilador C#). |
--win32res:resource-filename |
Adiciona um arquivo de recurso Win32 à compilação. Esta opção de compilador é equivalente à opção de compilador C# de mesmo nome. Para obter mais informações, consulte /win32res ((C#) Compiler Options). |
Avisos de aceitação
O compilador F# suporta vários avisos de aceitação:
Número | Resumo | Level | Description |
---|---|---|---|
21 | Recursão verificada em tempo de execução | 5 | Avise quando um uso recursivo é verificado quanto à solidez da inicialização em tempo de execução. |
22 | Ligações executadas fora de ordem | 5 | Avisar quando uma ligação recursiva pode ser executada fora de ordem devido a uma referência de encaminhamento. |
52 | Cópias implícitas de structs | 5 | Avise quando uma estrutura imutável é copiada para garantir que o original não seja mutado por uma operação. |
1178 | Igualdade/comparação implícita | 5 | Avise quando uma declaração de tipo F# é implicitamente inferida como sendo NoEquality ou NoComparison mas o atributo não está presente no tipo. |
1182 | Variáveis não utilizadas | n/d | Avisar para variáveis não utilizadas. |
3180 | Alocações implícitas de heap | n/d | Avisar quando um local mutável é implicitamente alocado como uma célula de referência porque foi capturado por um fechamento. |
3366 | Notação de índice | n/d | Avise quando a notação expr.[idx] de índice F# 5 for usada. |
3517 | Falha InlineIfLambda | n/d | Avise quando o otimizador de F# não conseguir inserir um InlineIfLambda valor, por exemplo, se um valor de função computado tiver sido fornecido em vez de um lambda explícito. |
3387 | op_Implicit conversão |
n/d | Avise quando uma conversão implícita do .NET é usada em um argumento de método. |
3388 | Upcast implícito adicional | n/d | Avise quando um upcast adicional for usado implicitamente, adicionado em F# 6. |
3389 | Alargamento implícito | n/d | Avise quando um alargamento numérico implícito for usado. |
3390 | Comentários do documento XML malformado | n/d | Avise quando os comentários do documento XML estiverem malformados de várias maneiras. |
Pode ativar estes avisos utilizando /warnon:NNNN
ou <WarnOn>NNNN</WarnOn>
onde NNNN
está o número de aviso relevante.
(Você também pode usar a sintaxe <WarnOn>FSNNNN</WarnOn>
, por exemplo.) <WarnOn>FS3388</WarnOn>
Observe que, se a WarnOn
propriedade for especificada várias vezes, somente a última ocorrência será usada. Para especificar vários avisos, forneça a propriedade uma vez com uma cadeia de caracteres separada por vírgulas WarnOn
como seu conteúdo: <WarnOn>3388,3559</WarnOn>
.
Artigos relacionados
Title | Description |
---|---|
Opções interativas do F# | Descreve as opções de linha de comando suportadas pelo interpretador de F#, fsi.exe. |
Referência de propriedades do projeto | Descreve a interface do usuário para projetos, incluindo páginas de propriedades do projeto que fornecem opções de compilação. |