Getting Assembly version Information … a left-over from our scrum course
Not sure if this is of interest to anyone. The code snippet was created for one of the exercises we had to endure at a recent scrum focused course … not sure if and when we can start sharing details thereof … will ping the creators and advise.
Anyway, here is the code snippet for those that need to extract the version information from their current (this) assembly:
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using System.Configuration;
6: using System.Threading;
7: using System.Reflection;
8: using System.Net;
9:
10: namespace TailSpin.Version
11: {
12: public class Version_Assembly_Information
13: {
14: public Version_Assembly_Information() {}
15:
16: public string Version
17: {
18: get
19: {
20: return Assembly.GetExecutingAssembly().GetName().Version.ToString();
21: }
22: }
23:
24: public string Description
25: {
26: get
27: {
28: object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
29: if (attributes.Length == 0) return "";
30: else return ((AssemblyDescriptionAttribute)attributes[0]).Description;
31: }
32: }
33:
34: public string Product
35: {
36: get
37: {
38: object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
39: if (attributes.Length == 0) return "";
40: else return ((AssemblyProductAttribute)attributes[0]).Product;
41: }
42: }
43: }
44:
45: public string Copyright
46: {
47: get
48: {
49: object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
50: if (attributes.Length == 0) return "";
51: else return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
52: }
53: }
54:
55: public string Company
56: {
57: get
58: {
59: object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
60: if (attributes.Length == 0) return "";
61: else return ((AssemblyCompanyAttribute)attributes[0]).Company;
62: }
63: }
64: public string Convenient_Version
65: {
66: get
67: {
68: string Host_Name = System.Net.Dns.GetHostName();
69: string IP_Address = System.Net.Dns.GetHostEntry(Host_Name).AddressList[0].ToString();
70: string Convenient_Version = Description + " " +
71: Version + " " +
72: Company + " (" +
73: Host_Name + " " +
74: IP_Address + ")";
75: return Convenient_Version;
76: }
77: }
78: }
79:
80: public static class Version_Info_Helper
81: {
82: public static string GetConvenientVersion()
83: {
84: Version_Assembly_Information ver = new Version_Assembly_Information();
85: return ver.Convenient_Version;
86: }
87: }
88: }