V - - Analista de Informática I - Área de Atuação: Desenvolvimento de Sistemas - Edital nº 350
No contexto do .NET 8 ou superior, o modo de publicação
de aplicativos conhecido como framework-dependent
implica que
Ao conteúdo gerado no processo de publicação inclui
uma cópia do runtime .NET necessário para a aplicação ser executada.
Bo aplicativo publicado será retrocompatível e poderá
ser executado em qualquer versão do runtime
.NET, inclusive em versões antigas, desde o .NET
Framework 1.0 até o .NET 10.
Cse for um aplicativo web, ele poderá ser executado em
sua totalidade no ambiente do navegador do usuário
(client side), sem depender de nenhum servidor web
após ser baixado.
Do ambiente que irá executar o aplicativo precisa ter aferramenta Visual Studio pré-instalada.
Eo ambiente que irá executar o aplicativo precisa ter o
runtime .NET necessário pré-instalado.
Revelar gabarito e comentário▾
GabaritoE — o ambiente que irá executar o aplicativo precisa ter o
runtime .NET necessário pré-instalado.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Publicação de aplicativos .NET: framework-dependent × self-contained
Gabarito: letra E. No modo de publicação framework-dependent, o aplicativo publicado não embute o runtime .NET; ele depende de um runtime .NET já instalado no ambiente de execução. É o oposto do modo self-contained, que inclui uma cópia do runtime no pacote publicado. A alternativa E espelha exatamente essa definição.
O que é publicação framework-dependent
Quando você publica um aplicativo .NET, o comando dotnet publish gera um conjunto de arquivos que será copiado para o ambiente de produção. Existem dois modos principais de publicação, e a diferença entre eles está em quem fornece o runtime (o motor de execução, a CLR):
Critério
Framework-dependent
Self-contained
Runtime .NET no pacote
Não incluído
Incluído (cópia completa)
Pré-requisito no servidor
Runtime .NET instalado
Nenhum (o app carrega o próprio runtime)
Tamanho do pacote
Menor
Maior
Atualização do runtime
Centralizada (o servidor atualiza)
Por aplicativo (cada app tem o seu)
Uso típico
Servidores com .NET gerenciado
Ambientes sem .NET ou com versões conflitantes
No modo framework-dependent, o aplicativo contém apenas o código compilado (CIL/MSIL) e as dependências de bibliotecas que não fazem parte do runtime. Quando o usuário executa o aplicativo, o sistema operacional chama o runtime .NET instalado (a CLR), que carrega o CIL e o compila para código nativo via JIT (Just-In-Time).
Por que a alternativa E é a correta
A letra E afirma que "o ambiente que irá executar o aplicativo precisa ter o runtime .NET necessário pré-instalado". Isso é exatamente o que define o modo framework-dependent: o aplicativo depende de um runtime externo. Sem ele, o aplicativo não executa — o sistema operacional não sabe como interpretar o CIL sem a CLR.
Por que as demais estão erradas
A) Descreve o modo self-contained, que inclui uma cópia do runtime no pacote. No framework-dependent, o runtime não é copiado.
B) O framework-dependent não é retrocompatível com qualquer versão do .NET. O aplicativo é compilado para uma versão específica (ex.: .NET 8) e exige um runtime compatível — não funciona em versões antigas como .NET Framework 1.0.
C) Aplicativos web .NET (ASP.NET Core) são executados no servidor, não no navegador. O navegador apenas recebe HTML/CSS/JS gerados pelo servidor. O modo de publicação não muda isso.
D) O Visual Studio é uma ferramenta de desenvolvimento, não de execução. O runtime .NET é que é necessário para executar o aplicativo.
Pegadinha da banca
A banca explora a confusão entre os dois modos de publicação. O candidato que sabe que o self-contained embute o runtime pode marcar a letra A por associação, mas a questão pede o framework-dependent, que é o oposto. A pegadinha está em inverter os conceitos.
NÃO CAIA NESSA!
A banca troca os modos de publicação: a alternativa A descreve o self-contained (runtime embutido), enquanto a questão pede o framework-dependent (runtime externo). Fique atento ao termo "framework-dependent" — ele já diz que o app depende de algo externo.
Dica de prova
NÃO CAIA NESSA!
Para não confundir, lembre-se: framework-dependent = "depende do framework" (runtime externo); self-contained = "contém a si mesmo" (runtime embutido). Se a alternativa falar em "cópia do runtime no pacote", é self-contained; se falar em "runtime pré-instalado", é framework-dependent.
Análise das alternativas
Publicação .NET
1Framework-dependent
Runtime externo pré-instalado
Pacote menor
Atualização centralizada
2Self-contained
Runtime embutido no pacote
Pacote maior
Atualização por aplicativo
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Descreve o modo self-contained, que inclui uma cópia do runtime .NET no pacote publicado. No framework-dependent, o runtime não é copiado — o aplicativo depende de um runtime externo.
Alternativa B — ❌ Incorreta
O framework-dependent não é retrocompatível com qualquer versão do .NET. O aplicativo é compilado para uma versão específica (ex.: .NET 8) e exige um runtime compatível — não funciona em versões antigas como .NET Framework 1.0. A compatibilidade é limitada à versão alvo e suas dependências.
Alternativa C — ❌ Incorreta
Aplicativos web .NET (ASP.NET Core) são executados no servidor, não no navegador. O navegador apenas recebe HTML/CSS/JS gerados pelo servidor. O modo de publicação não muda isso — o aplicativo continua rodando no servidor.
Alternativa D — ❌ Incorreta
O Visual Studio é uma ferramenta de desenvolvimento, não de execução. O runtime .NET é que é necessário para executar o aplicativo. O Visual Studio pode até ser usado para desenvolver, mas não é pré-requisito para executar um aplicativo publicado.
Alternativa E — ✅ Correta ⟵ GABARITO
O modo framework-dependent exige que o ambiente de execução tenha o runtime .NET necessário pré-instalado. O aplicativo contém apenas o código compilado e as dependências de bibliotecas, mas depende do runtime externo para ser executado.