Para qual linguagem o MSBuild compila seu código em C#?

Próximas questões
Com base no mesmo assunto
Ano: 2018 Banca: FEPESE Órgão: CELESC Prova: FEPESE - 2018 - CELESC - Analista de Sistemas |
Q1248110 Programação
Para qual linguagem o MSBuild compila seu código em C#?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a C - MSIL.

Para compreender o motivo pelo qual a alternativa C é a correta, é necessário entender o processo de compilação do código em C# quando utilizamos o MSBuild, que é a ferramenta de compilação da plataforma .NET da Microsoft.

O MSBuild, abreviação para Microsoft Build Engine, é uma plataforma de compilação que automatiza o processo de conversão do código-fonte em programas executáveis ou bibliotecas. Quando o MSBuild processa o código em C#, ele compila esse código para uma linguagem intermediária chamada Microsoft Intermediate Language (MSIL), que é a alternativa correta (C).

A MSIL é um código de baixo nível, mas ainda não é código de máquina. Ela é independente de plataforma e CPU, o que permite que um mesmo programa .NET possa ser executado em diferentes sistemas operacionais e arquiteturas de processadores. Após a compilação para MSIL, durante a execução do programa, o runtime do .NET, chamado CLR (Common Language Runtime), compila o MSIL para o código de máquina nativo do sistema em que está rodando, através de um processo chamado Just-In-Time (JIT) compilation.

Portanto, a compilação do código em C# pelo MSBuild não resulta diretamente em código de máquina ou qualquer outro tipo de código executável nativo específico, mas sim em MSIL, que é uma camada de abstração entre o código-fonte de alto nível e o código de máquina.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Poderia ser MSIL, CIL ou IL.

"Common Intermediate Language (CIL), formerly called Microsoft Intermediate Language (MSIL) or Intermediate Language (IL), is the intermediate language binary instruction set"

https://en.wikipedia.org/wiki/Common_Intermediate_Language

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo