Como resolver: Não foi possível resolver mscorlib para a estrutura de destino Framework,Version=v4.5'. Isso poderá ocorrer se a estrutura de destino não estiver instalada ou se o moniker da estrutura estiver formatado incorretamente

Jorge Alberto 0 Pontos de reputação
2026-04-21T19:46:49.61+00:00
Não foi possível resolver mscorlib para a estrutura de destino '.NETFramework,Version=v4.5'. Isso poderá ocorrer se a estrutura de destino não estiver instalada ou se o moniker da estrutura estiver formatado incorretamente
--------
Não foi possível resolver mscorlib para a estrutura de destino '.NETFramework,Version=v4.5'. Isso poderá ocorrer se a estrutura de destino não estiver instalada ou se o moniker da estrutura estiver formatado incorretamente
Não foi possível resolver mscorlib para a estrutura de destino '.NETFramework,Version=v4.5'. Isso poderá ocorrer se a estrutura de destino não estiver instalada ou se o moniker da estrutura estiver formatado incorretamente
Não foi possível resolver mscorlib para a estrutura de destino '.NETFramework,Version=v4.5'. Isso poderá ocorrer se a estrutura de destino não estiver instalada ou se o moniker da estrutura estiver formatado incorretamente
Não foi possível resolver mscorlib para a estrutura de destino '.NETFramework,Version=v4.5'. Isso poderá ocorrer se a estrutura de destino não estiver instalada ou se o moniker da estrutura estiver formatado incorretamente
Tecnologias de desenvolvedor | Visual Basic for Applications
0 comentários Sem comentários

1 resposta

Classificar por: Mais útil
  1. Bruno Caetano de Brito 245 Pontos de reputação
    2026-08-26T11:09:55.0633333+00:00

    O erro acontece porque os assemblies de referência do .NET Framework 4.5 não estão na máquina, e não vão estar por instalação normal: a Microsoft não publica developer pack do 4.5. O download mais antigo disponível é o do 4.5.1. O 4.5 saiu de suporte em 13/01/2016.

    Há dois caminhos.

    1. Retargetar o projeto (recomendado)

    Se você tem controle sobre o código, mude o Target Framework para uma versão suportada:

    • Clique com o botão direito no projeto → Propriedades → Target Framework
    • Ou edite o .csproj/.vbproj diretamente: <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>

    Versões ainda suportadas: 4.6.2 (até 13/01/2027), 4.7, 4.7.1, 4.7.2, 4.8 e 4.8.1. O 4.8 é o mais seguro se você não tem restrição de ambiente.

    Vale saber que 4.5.2, 4.6 e 4.6.1 foram assinados com certificados SHA-1, e a própria Microsoft recomenda sair deles. Não adianta descer para 4.5.2 só para "ficar perto" do 4.5.

    2. Manter o 4.5 (quando não dá para mudar o target)

    A Microsoft publica os reference assemblies como pacote NuGet:

    Microsoft.NETFramework.ReferenceAssemblies.net45
    

    Se você compila por linha de comando (dotnet build ou msbuild), basta adicionar o PackageReference e resolve.

    No Visual Studio é diferente: ele procura os arquivos fisicamente no disco, não no pacote. Nesse caso, baixe o .nupkg, abra como ZIP, e copie o conteúdo de build\.NETFramework\v4.5\ para:

    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
    

    Reinicie o Visual Studio depois.

    (Essa segunda parte, de copiar para a pasta, não está na documentação oficial é solução conhecida da comunidade. O pacote NuGet em si é publicado pela Microsoft.)

    Uma dúvida sobre o seu caso: a pergunta está marcada como Visual Basic for Applications, mas essa mensagem vem do MSBuild. O VBA do Office não gera esse erro.

    Você consegue dizer:

    • O que exatamente está compilando? Projeto no Visual Studio, suplemento VSTO do Office, ou build em servidor?
    • Qual versão do Visual Studio (ou do MSBuild)?
    • O erro aparece ao abrir o projeto ou ao compilar?

    Com isso dá para apontar o caminho certo entre os dois acima.`

    Esta resposta foi útil?

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como ‘Aceitas’ pelo autor da pergunta e ‘Recomendadas’ pelos moderadores, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.