Como obter a versão do assembly (assembly file version) em C#?
Olá a todos! Sou novo em C# e estou escrevendo uma aplicação simples para Windows Forms. Preciso exibir a versão do meu programa no título da janela (algo como "MeuPrograma v1.2.3.4"). Eu sei que no projeto existe um arquivo AssemblyInfo.cs, onde defino a versão, mas como lê-la em tempo de execução?
Tentei usar Assembly.GetExecutingAssembly().GetName().Version, mas ele retorna 0.0.0.0, embora no AssemblyInfo.cs eu tenha definido [assembly: AssemblyVersion("1.0.0.0")] e [assembly: AssemblyFileVersion("2.0.0.0")]. Qual é a diferença entre AssemblyVersion e AssemblyFileVersion? E como obter corretamente o FileVersion para exibi-lo ao usuário?
Aqui está meu exemplo de código que não funciona como esperado:
```csharp
using System;
using System.Reflection;
class Program
{
static void Main()
{
var version = Assembly.GetExecutingAssembly().GetName().Version;
Console.WriteLine($"Versão: {version}");
// Exibe: Versão: 0.0.0.0
}
}
```
Por favor, me ajudem.