Dev & EngARTIGO

.NET Core – Dica rápida: obtendo a versão do runtime em uma aplicação

O .NET Core já caminha para a sua versão 3.0, trazendo a cada novo release importantes novidades e grandes avanços em termos de performance.

.NET Core – Dica rápida: obtendo a versão do runtime em uma aplicação
Imagem: Renato Groffe

.NET.NET113 conteúdosNovidades do .NET 9 – o tipo genérico OrderedDictionaryDev (Back & Front) · dez 2024Novidades .NET 10: novas formas de uso do .NET CLIDev (Back & Front) · dez 2025Novidades do .NET 5: implementando um proxy reverso com YARP + ASP.NET 5Dev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) Core já caminha para a sua versão 3.0, trazendo a cada novo release importantes novidades e grandes avanços em termos de performance. Independentemente do tipo de projeto criado nesta plataforma, haverá situações nas quais se fará necessário apresentar em uma aplicação qual a versão de runtime do .NET Core estamos utilizando.

Obter esta informação é um procedimento relativamente fácil, conforme demonstrado na listagem a seguir (uma Console Application criada com o .NET Core 2.2):

  • Será obtida uma instância da classe Assembly (namespace System.Reflection), a partir do método estático GetEntryAssembly;
  • Com este objeto será então acionado o método GetCustomAttribute, o qual receberá como parâmetro o tipo TargetFrameworkAttribute(namespace System.Runtime.Versioning). Na propriedade FrameworkName da referência retornada constará o runtime da aplicação.
csharp
using System;
using System.Reflection;
using System.Runtime.Versioning;

namespace ExemploVersao
{
    class Program
    {
        static void Main()
        {
            string versaoAtual = Assembly
                        .GetEntryAssembly()?
                        .GetCustomAttribute<TargetFrameworkAttribute>()?
                        .FrameworkName;

            Console.WriteLine(
                $"Versão atual do .NET Core: {versaoAtual}");
        }
    }
}

Como resultado da execução deste projeto teremos:

Ao executar o mesmo código por meio de uma Console Application criada com o .NET Core 3.0Leia tambémNovidades do .NET Core 3.0: desenvolvimento em WPF com o Visual Studio 2019Dev (Back & Front) · mai 2019 Preview 5 o resultado será:


Referências

Assembly Class (System.Reflection) | Microsoft Docs

.NET Core 3.0 e ASP.NET Core 3.0: Guia de Referência

Atua como consultor em atividades voltadas ao desenvolvimento de sistemas há mais de 15 anos. Microsoft MVP (Most Valuable Professional) e participante do programa MTAC (Multi-Plataform Technical Audience Contributor). Bacharel em Sistemas de Informação, com Especialização em Engenharia de Software e MBA em Business Intelligence. Também é palestrante e autor técnico em portais e revistas especializadas, com foco em tecnologias Microsoft e boas práticas na área de software.

Ver perfil