我知道这是一个老问题,但在这里是一个解决方案,我发现使用反射和LINQ (转贴自my answer here)。
首先,我将此添加到AssemblyInfo中。CS(用您想使用的任何字符串):
[assembly: AssemblyInformationalVersion("1.0.0.0 Alpha")]
然后,你可以用这个方法来拉出属性(我把它放在一个静态类里面AssemblyInfo.cs文件)。方法get是所有Assembly属性的数组,然后选择与属性名称匹配的第一个结果(并将其转换为适当的类型)。然后可以访问InformationalVersion字符串。
//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;
}
}
为了得到正常 “的AssemblyVersion” 属性我用:
//using System.Reflection;
public static string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
加修正,Application.ProductVersion无法在CF – VBNight 2009-02-09 22:01:07