Opções do compilador de C#

Esta seção descreve as opções interpretadas pelo compilador de C#. As opções são agrupadas em artigos separados com base no que eles controlam, por exemplo, recursos de linguagem, geração de código e saída. Use o sumário para navegar entre elas.

Como definir opções

Há duas maneiras de definir opções de compilador em projetos do .NET:

  • No arquivo *.csproj

    Você pode adicionar propriedades do MSBuild a qualquer opção do compilador no arquivo *.csproj no formato XML. O nome da propriedade é o mesmo que a opção do compilador. O valor da propriedade define o valor da opção do compilador. Por exemplo, o snippet de arquivo de projeto a seguir define a propriedade LangVersion.

    <PropertyGroup>
      <LangVersion>preview</LangVersion>
    </PropertyGroup>
    

    Para obter mais informações sobre as opções de configuração em arquivos de projeto, consulte o artigo Propriedades do MSBuild para projetos do SDK do .NET.

  • Usando as páginas de propriedades do Visual Studio

    O Visual Studio fornece páginas de propriedades para editar propriedades de build. Para saber mais sobre elas, consulte Gerenciar propriedades do projeto e da solução – Windows ou Gerenciar propriedades do projeto e da solução – Mac.

Projetos .NET Framework

Importante

Esta seção se aplica somente a projetos .NET Framework.

Além dos mecanismos descritos acima, você pode definir opções de compilador usando dois métodos adicionais para projetos .NET Framework:

  • Argumentos de linha de comando para projetos .NET Framework: projetos .NET Framework usam csc.exe em vez de dotnet build para criar projetos. Você pode especificar argumentos de linha de comando para csc.exe para projetos .NET Framework.
  • Páginas ASP.NET compiladas: projetos .NET Framework usam uma seção do arquivo web.config para compilar páginas. Para o novo sistema de build e projetos ASP.NET Core, as opções são obtidas do arquivo de projeto.

A palavra para algumas opções do compilador foi alterada de csc.exe e projetos .NET Framework para o novo sistema MSBuild. A nova sintaxe é usada nesta seção. Ambas as versões são listadas na parte superior de cada página. Para csc.exe, todos os argumentos são listados seguindo a opção e dois-pontos. Por exemplo, a opção -doc seria:

-doc:DocFile.xml

Você pode invocar o compilador do C#, digitando o nome do seu arquivo executável (csc.exe) em um prompt de comando.

Para projetos .NET Framework, você também pode executar csc.exe na linha de comando. Todas as opções do compilador estão disponíveis em duas formas: -option e /option. Em projetos web .NET Framework, você especifica opções para compilar code-behind no arquivo web.config. Para obter mais informações, consulte <compilador>Elemento.

Se você usar a janela do Prompt de Comando do Desenvolvedor do Visual Studio, todas as variáveis de ambiente necessárias serão definidas para você. Para obter informações sobre como acessar essa ferramenta, consulte Prompt de Comando do Desenvolvedor para o Visual Studio.

O arquivo executável csc.exe normalmente está localizado na pasta Microsoft.NET\Framework\<Versão> no diretório Windows. O local pode variar dependendo da configuração exata de um computador específico. Se mais de uma versão do .NET Framework estiver instalada em seu computador, você encontrará várias versões desse arquivo. Para obter mais informações sobre essas instalações, consulte Determinando qual versão do .NET Framework está instalada.