tarefa Csc

Encapsula csc.exe e produz executáveis (arquivos .exe), bibliotecas de vínculo dinâmico (arquivos .dll) ou módulos de código (arquivos .netmodule). Para obter mais informações sobre o csc.exe, confira Opções do compilador C#.

Parâmetros

A tabela a seguir descreve os parâmetros da tarefa Csc.

Parâmetro Descrição
AdditionalLibPaths Parâmetro String[] opcional.

Especifica diretórios adicionais para pesquisar referências. Para obter mais informações, confira -lib (opções do compilador C#).
AddModules Parâmetro String opcional.

Especifica um ou mais módulos a fazerem parte do assembly. Para obter mais informações, confira -addmodule (opções do compilador C#).
AllowUnsafeBlocks Parâmetro Boolean opcional.

Se for true, compilará o código que usa a palavra-chave unsafe. Para obter mais informações, confira -unsafe (opções do compilador C#).
ApplicationConfiguration Parâmetro String opcional.

Especifica um arquivo de configuração de aplicativo que contém configurações de associação de assembly.
BaseAddress Parâmetro String opcional.

Especifica o endereço básico preferencial no qual uma DLL será carregada. O endereço básico padrão de uma DLL é definido pelo Common Language Runtime do .NET Framework. Para obter mais informações, confira -baseaddress (opções do compilador C#).
CheckForOverflowUnderflow Parâmetro Boolean opcional.

Especifica se o aritmético inteiro que estoura os limites do tipo de dados causa uma exceção em tempo de execução. Para obter mais informações, confira -checked (opções do compilador C#).
ChecksumAlgorithm Parâmetro String opcional.

Especifica o algoritmo para calcular a soma de verificação do arquivo de origem armazenada no arquivo PDB. O algoritmo deve ser SHA1 (padrão) ou SHA256. Consulte ChecksumAlgorithm.
CodeAnalysisRuleset Parâmetro String opcional.

Especifica um arquivo de conjunto de regras que desabilita o diagnóstico específico. Consulte CodeAnalysisRuleset.
CodePage Parâmetro Int32 opcional.

Especifica a página de código a ser usada para todos os arquivos de código-fonte na compilação. Para obter mais informações, confira -codepage (opções do compilador C#).
DebugType Parâmetro String opcional.

Especifica o tipo de depuração. DebugType pode ser full ou pdbonly. O padrão é full, o que permite que um depurador seja anexado a um programa em execução. Especificar pdbonly habilita a depuração de código-fonte quando o programa é iniciado no depurador, mas apenas exibe o assembler quando o programa em execução está anexado ao depurador.

Esse parâmetro substitui o parâmetro EmitDebugInformation.

Para obter mais informações, confira -debug (opções do compilador C#).
DefineConstants Parâmetro String opcional.

Define símbolos do pré-processador. Para obter mais informações, confira -define (opções do compilador C#).
DelaySign Parâmetro Boolean opcional.

Se for true, especificará que você apenas deseja colocar a chave pública no assembly. Se for false, especificará que você deseja um assembly totalmente assinado

Esse parâmetro não terá nenhum efeito a menos que seja usado com o parâmetro KeyFile ou KeyContainer.

Para obter mais informações, confira -delaysign (opções do compilador C#).
Deterministic Parâmetro Boolean opcional.

Se ele for true, fará com que o compilador gere um assembly cujo conteúdo binário é idêntico entre compilações caso as entradas sejam idênticas.

Para obter mais informações, confira -deterministic (opções do compilador C#).
DisabledWarnings Parâmetro String opcional.

Especifica a lista de avisos a ser desabilitada. Para obter mais informações, confira -nowarn (opções do compilador C#).
DocumentationFile Parâmetro String opcional.

Processa comentários de documentação para um arquivo XML. Para obter mais informações, confira -doc (opções do compilador C#).
EmbedAllSources Parâmetro Boolean opcional.

Insere todos os arquivos de origem no PDB. Para obter mais informações, consulte -embed (opções do compilador C#)
EmitDebugInformation Parâmetro Boolean opcional.

Se for true, a tarefa gerará informações de depuração e as colocará em um arquivo de banco de dados do programa (.pdb). Se for false, a tarefa não emitirá nenhuma informação de depuração. O padrão é false. Para obter mais informações, confira -debug (opções do compilador C#).
ErrorLog Parâmetro String opcional.

Especifica um arquivo para registrar todos os diagnósticos do compilador e do analisador. Consulte ErrorLog.
ErrorReport Parâmetro String opcional.

Fornece uma maneira conveniente de relatar um erro interno do C# à Microsoft. Esse parâmetro pode ter um valor igual a prompt, send ou none. Se o parâmetro for definido como prompt, você receberá um prompt quando ocorrer um erro interno do compilador. O prompt permite enviar um relatório de bugs eletronicamente à Microsoft. Se o parâmetro for definido como send, um relatório de bugs será enviado automaticamente. Se o parâmetro for definido como none, o erro será relatado apenas na saída de texto do compilador. O padrão é none. Para obter mais informações, confira -errorreport (opções do compilador C#).
FileAlignment Parâmetro Int32 opcional.

Especifica o tamanho das seções no arquivo de saída. Para obter mais informações, confira -filealign (opções do compilador C#).
GenerateFullPaths Parâmetro Boolean opcional.

Se for true, especificará o caminho absoluto para o arquivo na saída do compilador. Se for false, especificará o nome do arquivo. O padrão é false. Para obter mais informações, confira -fullpaths (opções do compilador C#).
HighEntropyVA Parâmetro opcional Boolean

Habilitar a ASLR (Randomização de Layout de Espaço de Endereço) de alta entropia. Consulte HighEntropyVA.
KeyContainer Parâmetro String opcional.

Especifica o nome do contêiner da chave de criptografia. Para obter mais informações, confira -keycontainer (opções do compilador C#).
KeyFile Parâmetro String opcional.

Especifica o nome de arquivo que contém a chave de criptografia. Para obter mais informações, confira -keyfile (opções do compilador C#).
LangVersion Parâmetro String opcional.

Especifica a versão da linguagem a ser usada. Para obter mais informações, confira -langversion (opções do compilador C#).
LinkResources Parâmetro opcional ITaskItem[].

Cria um link para um recurso do .NET Framework no arquivo de saída; o arquivo de recurso não é colocado no arquivo de saída.

Os itens passados para esse parâmetro podem ter entradas de metadados opcionais chamadas LogicalName e Access. LogicalName corresponde ao parâmetro identifier da opção /linkresource e Access corresponde ao parâmetro accessibility-modifier. Para obter mais informações, confira -linkresource (opções do compilador C#).
MainEntryPoint Parâmetro String opcional.

Especifica o local do método Main. Para obter mais informações, confira -main (opções do compilador C#).
ModuleAssemblyName Parâmetro String opcional.

Especifica o nome do assembly do qual esse módulo fará parte.
NoConfig Parâmetro Boolean opcional.

Se ele for true, instruirá o compilador a não compilar com o arquivo csc.rsp. Para obter mais informações, confira -noconfig (opções do compilador C#).
NoLogo Parâmetro Boolean opcional.

Se for true, suprimirá a exibição de informações da barra de notificação do compilador. Para obter mais informações, confira -nologo (opções do compilador C#).
NoStandardLib Parâmetro Boolean opcional.

Se for true, impedirá a importação de mscorlib.dll, que define todo o namespace System. Use esse parâmetro se desejar definir ou criar seus próprios objetos e namespace System. Para obter mais informações, confira -nostdlib (opções do compilador C#).
NoWin32Manifest Parâmetro Boolean opcional.

Se for true, não inclua o manifesto Win32 padrão.
Nullable Parâmetro String opcional.

Especifica o contexto anulável. O argumento deve enable, disable, warnings ou annotations. Consulte Anulável.
Optimize Parâmetro Boolean opcional.

Se for true, habilitará as otimizações. Se for false, desabilitará as otimizações. Para obter mais informações, confira -optimize (opções do compilador C#).
OutputAssembly Parâmetro de saída String opcional.

Especifica o nome do arquivo de saída. Para obter mais informações, confira -out (opções do compilador C#).
OutputRefAssembly Parâmetro String opcional.

Especifica o nome do arquivo do assembly de referência de saída. Para obter mais informações, confira -refout (opções do compilador C#).
PathMap Parâmetro String opcional.

Especifica como mapear caminhos físicos para nomes de caminho de origem emitidos pelo compilador. Consulte PathMap.
PdbFile Parâmetro String opcional.

Especifica o nome de arquivo de informações de depuração. O nome padrão é o nome do arquivo de saída com uma extensão .pdb.
Platform Parâmetro String opcional.

Especifica a plataforma do processador a ser direcionada pelo arquivo de saída. Esse parâmetro pode ter um valor igual a x86, x64 ou anycpu. O padrão é anycpu. Para obter mais informações, confira -platform (opções do compilador C#).
PreferredUILang Parâmetro String opcional.

Especifica o idioma em que o compilador do C# exibe a saída, como mensagens de erro. Consulte PreferredUILang.
PublicSign Parâmetro Boolean opcional.

Assinar publicamente o assembly de saída. Consulte PublicSign.
References Parâmetro opcional ITaskItem[].

Faz com que a tarefa importe informações de tipo público dos itens especificados para o projeto atual. Para obter mais informações, confira -reference (opções do compilador C#).

Você pode especificar um alias de referência do C# em um arquivo do MSBuild adicionando os Aliases de metadados ao item original da "Referência". Por exemplo, para definir o alias "LS1" na seguinte linha de comando Csc:

CSC /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs

você usará:

<Reference Include="MyCodeLibrary"> <Aliases>LS1</Aliases> </Reference>
RefOnly Parâmetro Boolean opcional.

Produzir um assembly de referência, em vez de um assembly completo, como a saída primária. Consulte ProduceOnlyReferenceAssembly.
ReportAnalyzer Parâmetro Boolean opcional.

Reporte informações adicionais do analisador, como o tempo de execução. Consulte ReportAnalyzer.
Resources Parâmetro opcional ITaskItem[].

Insere um recurso do .NET Framework no arquivo de saída.

Os itens passados para esse parâmetro podem ter entradas de metadados opcionais chamadas LogicalName e Access. LogicalName corresponde ao parâmetro identifier da opção /resource e Access corresponde ao parâmetro accessibility-modifier. Para obter mais informações, confira -resource (opções do compilador C#).
ResponseFiles Parâmetro String opcional.

Especifica o arquivo de resposta que contém comandos para essa tarefa. Para obter mais informações, confira @ (Especificar arquivo de resposta).
Sources Parâmetro opcional ITaskItem[].

Especifica um ou mais arquivos de origem do C#.
TargetType Parâmetro String opcional.

Especifica o formato do arquivo de saída. Esse parâmetro pode ter um valor igual a library, que cria uma biblioteca de códigos, exe, que cria um aplicativo de console, module, que cria um módulo ou winexe, que cria um programa do Windows. O valor padrão é library. Para obter mais informações, confira -target (opções do compilador C#).
TreatWarningsAsErrors Parâmetro Boolean opcional.

Se for true, tratará todos os avisos como erros. Para obter mais informações, confira -warnaserror (opções do compilador C#).
UseHostCompilerIfAvailable Parâmetro Boolean opcional.

Instrui a tarefa a usar o objeto do compilador em processo, se disponível. Usado somente pelo Visual Studio.
Utf8Output Parâmetro Boolean opcional.

Registra a saída do compilador usando a codificação UTF-8. Para obter mais informações, confira -utf8output (opções do compilador C#).
WarningLevel Parâmetro Int32 opcional.

Especifica o nível de aviso a ser exibido pelo compilador. Para obter mais informações, confira -warn (opções do compilador C#).
WarningsAsErrors Parâmetro String opcional.

Especifica uma lista de avisos a serem tratados como erros. Para obter mais informações, confira -warnaserror (opções do compilador C#).

Esse parâmetro substitui o parâmetro TreatWarningsAsErrors.
WarningsNotAsErrors Parâmetro String opcional.

Especifica uma lista de avisos que não são tratados como erros. Para obter mais informações, confira -warnaserror (opções do compilador C#).

Esse parâmetro será útil apenas se o parâmetro TreatWarningsAsErrors for definido como true.
Win32Icon Parâmetro String opcional.

Insere um arquivo .ico no assembly, que fornece ao arquivo de saída a aparência desejada no Explorador de Arquivos. Para obter mais informações, confira -win32icon (opções do compilador C#).
Win32Manifest Parâmetro String opcional.

Especifica o manifesto Win32 a ser incluído.
Win32Resource Parâmetro String opcional.

Insere um arquivo (.res) do recurso do Win32 no arquivo de saída. Para obter mais informações, confira -win32res (opções do compilador C#).

Parâmetros de ToolTaskExtension

Essa tarefa herda da classe ToolTaskExtension, que herda da classe ToolTask, que por sua vez herda da classe Task. Esta cadeia de herança adiciona vários parâmetros nas tarefas que derivam deles.

A seguinte tabela descreve os parâmetros das classes base:

Parâmetro Descrição
EchoOff Parâmetro bool opcional.

Quando definido como true, essa tarefa passa /Q para a linha de comando de cmd.exe, de modo que a linha de comando não é copiada para stdout.
EnvironmentVariables Parâmetro de matriz String opcional.

Matriz de definições da variável de ambiente, separadas por ponto e vírgula. Cada definição deve especificar um nome da variável de ambiente e um valor separados por um sinal de igual. Essas variáveis são passadas para o executável gerado além, ou seletivamente substituindo, o bloco de ambiente regular. Por exemplo, Variable1=Value1;Variable2=Value2.
ExitCode Parâmetro de saída opcional somente leitura Int32.

Especifica o código de saída fornecido pelo comando executado. Se a tarefa registra erros, mas o processo tem um código de saída de 0 (êxito), isso é definido como -1.
LogStandardErrorAsError Parâmetro bool opcional.

Se true, todas as mensagens recebidas no fluxo de erro padrão são registradas como erros.
StandardErrorImportance Parâmetro String opcional.

a importância com a qual o texto do fluxo de erro padrão deve ser registrado.
StandardOutputImportance Parâmetro String opcional.

Importância para fazer o texto de log do fluxo de saída do padrão.
Timeout Parâmetro Int32 opcional.

Especifica a quantidade de tempo em milissegundos após o qual o executável da tarefa é encerrado. O valor padrão é Int.MaxValue, indicando que não há período de tempo limite. O tempo limite está em milissegundos.
ToolExe Parâmetro string opcional.

Projetos podem implementar para substituir um ToolName. Tarefas podem substituir isso para preservar o ToolName.
ToolPath Parâmetro string opcional.

Especifica o local de onde a tarefa carrega o arquivo executável subjacente. Se esse parâmetro não for especificado, a tarefa usará o caminho de instalação do SDK correspondente à versão da estrutura que está executando o MSBuild.
UseCommandProcessor Parâmetro bool opcional.

Quando definido como true, essa tarefa cria um arquivo em lotes para a linha de comando e o executa usando o processador de comando em vez de executar o comando diretamente.
YieldDuringToolExecution Parâmetro bool opcional.

Quando definido como true, essa tarefa gera o nó quando a tarefa está em execução.

Exemplo

O exemplo a seguir usa a tarefa Csc para compilar um executável com base nos arquivos de origem da coleção de itens Compile.

<CSC
    Sources="@(Compile)"
    OutputAssembly="$(AppName).exe"
    EmitDebugInformation="true" />

Confira também