Reading AssemblyInfo

Is there a new improved way of reading the AssemblyInfo attributes.



Answer this question

Reading AssemblyInfo

  • kabuki

    Go to the properties of your solution, there you will find on the first tab a button that brings you to a window with all the info from the AssemblyInfo file.

  • Alagappapillai

    From the aboutbox template in 2005:

            public string AssemblyTitle
            {
                get
                {
                    // Get all Title attributes on this assembly
                    object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
                    // If there is at least one Title attribute
                    if (attributes.Length > 0)
                    {
                        // Select the first one
                        AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
                        // If it is not an empty string, return it
                        if (titleAttribute.Title != "")
                            return titleAttribute.Title;
                    }
                    // If there was no Title attribute, or if the Title attribute was the empty string, return the .exe name
                    return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
                }
            }

            public string AssemblyVersion
            {
                get
                {
                    return Assembly.GetExecutingAssembly().GetName().Version.ToString();
                }
            }

            public string AssemblyDescription
            {
                get
                {
                    // Get all Description attributes on this assembly
                    object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
                    // If there aren't any Description attributes, return an empty string
                    if (attributes.Length == 0)
                        return "";
                    // If there is a Description attribute, return its value
                    return ((AssemblyDescriptionAttribute)attributes[0]).Description;
                }
            }

            public string AssemblyProduct
            {
                get
                {
                    // Get all Product attributes on this assembly
                    object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
                    // If there aren't any Product attributes, return an empty string
                    if (attributes.Length == 0)
                        return "";
                    // If there is a Product attribute, return its value
                    return ((AssemblyProductAttribute)attributes[0]).Product;
                }
            }

            public string AssemblyCopyright
            {
                get
                {
                    // Get all Copyright attributes on this assembly
                    object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
                    // If there aren't any Copyright attributes, return an empty string
                    if (attributes.Length == 0)
                        return "";
                    // If there is a Copyright attribute, return its value
                    return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
                }
            }

            public string AssemblyCompany
            {
                get
                {
                    // Get all Company attributes on this assembly
                    object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
                    // If there aren't any Company attributes, return an empty string
                    if (attributes.Length == 0)
                        return "";
                    // If there is a Company attribute, return its value
                    return ((AssemblyCompanyAttribute)attributes[0]).Company;
                }
            }

     

    or in a form:

    this.ProductVersion;
    this.ProductName;

     



  • John Moore999

    I have a windows c# sharp application and I want to read the values in the Assembly like:
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCopyright("Copyright c  2005 in asbly")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]

    in 2003 this was very cumbersome.
    in 05 vb this is very easy using the My namespace.

    I was wondering how it is done in 05.  A simpler better way perhaps.




  • Sianoosh

    Hi Chuck,  Can you please elaborate a bit on your question
  • Reading AssemblyInfo