.NET

3 jul, 2019

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

Publicidade

.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. 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.
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.0 Preview 5 o resultado será: