Compartilhar via


Comando -linha criando com CSC

Você pode chamar o compilador C# digitando o nome do seu arquivo executável (CSC) na linha de comando. Se você usar o prompt de comando do Visual Studio (disponível como um atalho no menu Iniciar em ferramentas do Visual Studio), todas as variáveis de ambiente necessárias são definidas para você. Caso contrário, você deve ajustar o seu caminho para habilitar o CSC. exe a ser invocado a partir de qualquer subdiretório no seu computador. Se você não usar o Prompt de comando Visual Studio, você deve executar vsvars32.bat para definir as variáveis de ambiente apropriada para oferecer suporte a compilações de linha de comando. Para obter mais informações sobre vsvars32.bat, consulte How to: Conjunto de variáveis de ambiente.

Se você estiver trabalhando em um computador que tem apenas o Windows Software Development Kit (SDK), você pode usar o compilador C# na linha de comando, se você usar o SDK Command Prompt, que está disponível a partir do Microsoft.NET Framework SDK a opção de menu.

A criação do ambiente de desenvolvimento, consulte Como: Preparar e gerenciar compilações.

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

O CSC executável geralmente está a <version> de Microsoft.NET\Framework\ pasta sob o diretório de sistema. Seu local pode variar dependendo da configuração exata em qualquer computador individual. Várias versões deste executável estará presentes no computador se mais de uma versão do.NET Framework é instalado no computador. Para obter mais informações sobre tais instalações, consulte Determinando qual versão do.NET Framework É instalado..

Este tópico aborda o seguinte:

Regras de sintaxe de linha de comando

Linhas de comando de exemplo

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

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

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

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

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

  • Uma seqüência de caracteres entre aspas duplas ("string") é interpretada como um argumento único, independentemente do espaço em branco que está contido. Uma seqüência entre aspas pode ser incorporada em um argumento.

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

  • Barras invertidas são interpretadas literalmente, a menos que eles precedem aspas duplas.

  • Se um número par de barras invertidas é seguido de aspas duplas, um de barra invertida é colocada na matriz argv para cada par de barras invertidas, e aspas duplas é interpretada como um delimitador de seqüência de caracteres.

  • Se um número ímpar de barras invertidas é seguido de aspas duplas, um de barra invertida é colocada na matriz argv para cada par de barras invertidas, e aspas duplas é "escape" Por que a barra invertida restante. Isso faz com que um literal aspas duplas (") a ser adicionado no argv.

Linhas de comando de exemplo para o compilador C#

  • Compila File.cs produzindo File. exe:

    csc File.cs 
    
  • Compila File.cs produzindo pendente:

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

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

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

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

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

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

Não há nenhum arquivo de objeto (. obj) criado como resultado de chamar o compilador C#; arquivos de saída são criados diretamente. Como resultado de isso, o compilador C# não é necessário um vinculador.

Consulte também

Referência

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

Opções de compilador C# listadas por categoria

Outros recursos

C# Compiler Options