How can I read WPF publish version number in code behind
Use GetEntryAssembly
rather than GetExecutingAssembly
to get the version from the current executable rather than from the currently-executing DLL, like so:
string version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString();
Add reference to System.Deployment
library to your project and adjust this snippet to your code:
using System.Deployment.Application;
and
string version = null;
try
{
//// get deployment version
version = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();
}
catch (InvalidDeploymentException)
{
//// you cannot read publish version when app isn't installed
//// (e.g. during debug)
version = "not installed";
}
As stated in comment, you cannot obtain publish version during debug, so I suggest to handle InvalidDeploymentException
.
Access the assembly version using Assembly.GetExecutingAssembly()
and display in UI
Assembly.GetExecutingAssembly().GetName().Version.ToString();