Construção de linha de comando com CSC. exe

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

Se você usar a janela de Prompt de Comando Visual Studio , todas as variáveis de ambiente necessários estão definidos para você.No Windows 7, você pode acessar essa janela de Iniciar abrindo a pasta do Microsoft Visual Studio Versão\ Visual Studio.No Windows 8, o prompt de comando Visual Studio é chamado Prompt de Comando do Desenvolvedor para VS2012, e talvez seja procurando do início a tela.

Se você usar uma janela de prompt de comando padrão, você deve ajustar seu caminho antes que você possa chamar csc.exe de qualquer subpasta no seu computador.Você também deve executar vsvars32.bat para definir as variáveis de ambiente apropriadas para suportar compilações de linha de comando.Para obter mais informações sobre a vsvars32.bat, incluindo instruções sobre como localizar e execução, consulte Como: definir variáveis de ambientevariáveis de ambiente.

Se você estiver trabalhando em um computador que tem somente Windows Software Development Kit (SDK), você pode usar o compilador C# em Prompt de comando SDK, que você abre a opção de menu Microsoft .NET Framework SDK .

Você também pode usar MSBuild para criar programaticamente programas C#.Para obter mais informações, consulte MSBuild.

O arquivo executável de csc.exe está localizado geralmente no Microsoft.NET \ Framework \ pasta deVersão no diretório do Windows.O local pode variar dependendo da configuração exata de um computador específico.Se mais de uma versão do.NET Framework é instalado em seu computador, você encontrará várias versões do arquivo.Para obter mais informações sobre dessas instalações, consulte Determinar qual versão do.NET Framework É instalado..

DicaDica

Quando você cria um projeto usando o IDE do Visual Studio, você pode exibir o comando de csc e suas opções de compilador associados na janela de Saída .Para exibir esta informação, siga as instruções em Como ver, salvar e configurar arquivos de log de compilação para alterar a verbosidade em nível de dados de log a Normal ou a Detalhado.Depois que você reconstrói seu projeto, pesquisar a janela de Saída por csc para localizar a chamada ao compilador C#.

Neste tópico

  • Regras para a sintaxe de linha de comando

  • Linhas de comando de exemplo

  • Diferenças entre o compilador C# e saída do compilador de C++

Regras para a sintaxe de linha de comando para o compilador C#

O compilador C# usa as seguintes regras quando ele interpreta os argumentos dados na linha de comando do sistema operacional:

  • Os argumentos são delimitados por espaço em branco, que é um espaço ou um guia.

  • O acento circunflexo (^) não é reconhecido como um caractere de escape ou um delimitador.O caractere é tratado pelo analisador de linha de comando no sistema operacional antes que é passado para a matriz de argv no programa.

  • Uma cadeia de caracteres incluída em aspas duplas - as marcas (“cadeia de caracteres”) é interpretado como um argumento único, independentemente de espaço em branco que está contido dentro.Uma cadeia de caracteres entre aspas pode ser incorporada em um argumento.

  • Aspas duplas precedido por uma barra invertida (\ ") é interpretado como um caractere literal de aspas duplas (").

  • As barras invertidas são interpretadas literalmente, a menos que precederem imediatamente aspas duplas.

  • Se um número de barras invertidas mesmo é seguido por aspas duplas, uma barra invertida é colocada na matriz de argv para cada par de barras invertidas, e aspas duplas são interpretadas como delimitador de cadeia de caracteres.

  • Se um número ímpar de barras invertidas é seguido por aspas duplas, uma barra invertida é colocada na matriz de argv para cada par de barras invertidas, e aspas duplas “são escapadas” pela barra invertida restante.Isso faz com que um literal aspas duplas (") a ser adicionadas em argv.

Linhas de comando de exemplo para o compilador C#

  • Compila File.cs gerando File.exe:

    csc File.cs 
    
  • Compila File.cs gerando File.dll:

    csc /target:library File.cs
    
  • Compila File.cs e criar My.exe:

    csc /out:My.exe File.cs
    
  • Cria todos os arquivos de C# no diretório atual, com otimizações habilitadas e define o símbolo debug.A saída são: File2.exe

    csc /define:DEBUG /optimize /out:File2.exe *.cs
    
  • Cria todos os arquivos de C# no diretório atual produzindo uma versão de depuração do arquivo File2.dll.Nenhum logotipo e nenhum aviso são exibidos:

    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    
  • Cria todos os arquivos de C# no diretório atual para um Something.xyz (DLL):

    csc /target:library /out:Something.xyz *.cs
    

Diferenças entre o compilador C# e saída do compilador de C++

Não há nenhum arquivo de objeto (.obj) criado no resultado de chamar o compilador C#; os arquivos de saída são criados diretamente.Como resultado disso, o compilador C# não precisa de um vinculador.

Consulte também

Tarefas

Como: exibir argumentos de linha de comando (guia de programação do C#)

Como: argumentos de linha de comando de acesso usando foreach (guia de programação C#)

Referência

Opções do compilador C# listadas em ordem alfabética

Opções do compilador C# listadas por categoria

Argumentos de linha de comando (guia de programação do C#)

Valores de retorno de Main () (guia de programação do C#)

Conceitos

Main () e argumentos de linha de comando (guia de programação do C#)

Outros recursos

Opções do compilador C#