/ Published in: C#
If you are just looking for the version information in the assembly, you can use `Application.ProductVersion` (at least for GUI applications). I don't think you'll get the reflection performance hit this way.
You can also add an "About" box to your GUI and see what code is generated for all of that information (product name, copyright, version, etc).
You can also add an "About" box to your GUI and see what code is generated for all of that information (product name, copyright, version, etc).
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
To retrieve the version number from the assembly in your code, you use can do this: String strVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); String strVersion = System.Reflection.Assembly.GetCallingAssembly().GetName().Version.ToString(); // Code generated by adding an "About" box partial class AboutBox : Form { public AboutBox() { InitializeComponent(); this.Text = AssemblyTitle; this.labelProductName.Text = AssemblyProduct; this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion); this.labelCopyright.Text = AssemblyCopyright; this.labelCompanyName.Text = AssemblyCompany; this.textBoxDescription.Text = AssemblyDescription; } #region Assembly Attribute Accessors public string AssemblyTitle { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); if (attributes.Length > 0) { AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0]; if (titleAttribute.Title != "") { return titleAttribute.Title; } } return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); } } public string AssemblyVersion { get { return Assembly.GetExecutingAssembly().GetName().Version.ToString(); } } public string AssemblyDescription { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyDescriptionAttribute)attributes[0]).Description; } } public string AssemblyProduct { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyProductAttribute)attributes[0]).Product; } } public string AssemblyCopyright { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; } } public string AssemblyCompany { get { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyCompanyAttribute)attributes[0]).Company; } } #endregion }
URL: http://www.xoc.net/works/tips/version.asp