Knowing which version of our application is currently running is a useful information (for end user, but also for us, developers!)
Fortunately, as Xamarin Forms is a .NET framework, we can easily obtain this at runtime:
public string AppVersion
{
get
{
Assembly asm = this.GetType().GetTypeInfo().Assembly;
string name = iAssemblyInfo.GetAssemblyTitle(asm),
copyright = iAssemblyInfo.GetAssemblyCopyright(asm);
return name + "\n" + copyright + "\n" + asm.FullName;
}
}
Some details: this (somehow concise) code benefits of a helper static class that may give you some ideas:
publicstaticclass iAssemblyInfo
The class exposes several methods like:
public static string GetAssemblyCopyright(Assembly asm)
{
if(asm == null)
return "";
try
{
var attrib = asm.GetCustomAttribute<AssemblyCopyrightAttribute>();
return attrib == null ? "" : attrib.Copyright;
}
catch (Exception)
{
return "";
}
}
public static string GetAssemblyTitle(Assembly asm)
{
if(asm == null)
return "";
try
{
var attrib = asm.GetCustomAttribute<AssemblyTitleAttribute>();
return attrib == null ? "" : attrib.Title;
}
catch (Exception)
{
return "";
}
}
public static string GetAssemblyCompanyName(Assembly asm)
{
if(asm == null)
return "";
try
{
var attrib = asm.GetCustomAttribute<AssemblyCompanyAttribute>();
return attrib == null ? "" : attrib.Company;
}
catch (Exception)
{
return "";
}
}