NOTE: This answer is for accessing the AssemblyInfo properties within a .NET CF 3.5 application. It does not propagate to the executable s "Properties" inside of Windows Explorer (but could be used to write to a file, to the console, or to display in the application)
I know this is a very old question, but here is a solution I found using Reflection and Linq to get the "AssemblyInformationalVersion" (product version in newer Visual Studio projects).
First, I added this to the AssemblyInfo.cs (replace the string with whatever you want to use):
[assembly: AssemblyInformationalVersion("1.0.0.0 Alpha")]
Then, you can use this method to pull out the attribute (I placed it inside a static class in the AssemblyInfo.cs file). The method get s an array of all Assembly attributes, then selects the first result matching the attribute name (and casts it to the proper type). The InformationalVersion string can then be accessed.
//using System.Reflection;
//using System.Linq;
public static string AssemblyInformationalVersion
{
get
{
AssemblyInformationalVersionAttribute informationalVersion = (AssemblyInformationalVersionAttribute)
(AssemblyInformationalVersionAttribute.GetCustomAttributes(Assembly.GetExecutingAssembly())).Where(
at => at.GetType().Name == "AssemblyInformationalVersionAttribute").First();
return informationalVersion.InformationalVersion;
}
}
To get the normal "AssemblyVersion" attribute I used:
//using System.Reflection;
public static string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}