Obtenga la versión de la aplicación publicada

Mi versión de file en mi publicación se muestra de forma diferente cuando se ejecuta mi aplicación. Estoy un poco confundido sobre esto porque, como puede ver a continuación, mi aplicación se publica como 1.0.0.2 y pronto será 1.0.0.3, pero se muestra como 1.0.0.0. Mi empleador ha solicitado una versión de ensamblaje, pero me sale mal … ¿Cómo devuelvo la versión de la aplicación correcta? ¡Gracias!

Pantalla de mi información de publicación: Publicar versión

Imagen de lo que está devolviendo mi aplicación real:

enter image description here

Y por último, pero no less importante, el código:

public void setExecutingAssembly() { FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assemblyVersion.Location); string appVersion = fvi.FileVersion; this.Text = string.Format(" {0} v{1}", this.Text, appVersion); } 

Puede usar ApplicationDeployment.CurrentDeployment.CurrentVersion para get la cadena de versión:

 private static string clickOnceVersion() { if (ApplicationDeployment.IsNetworkDeployed) return ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(); else return null; } 

Además, si desea get el número de versión del ejecutable del código que está dentro de una biblioteca de classs, puede hacer esto:

 private static string programVersion() { var assembly = Assembly.GetEntryAssembly(); // Version number of the calling exe, not this assembly! if (assembly != null) return Assembly.GetEntryAssembly().GetName().Version.ToString(); else // Only happens if being called via reflection from, say, Visual Studio's Form Designer. return Assembly.GetExecutingAssembly().GetName().Version.ToString(); } 

Sin embargo, creo que es el primero de esos methods que necesita.

Creo que puedes lograrlo usando Reflection-

 Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; this.Text = (String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Revision, version.Build));