获取DLL的产品版本

时间:2011-01-17 23:11:35

标签: asp.net reflection

尝试从加载的DLL中获取“产品版本”属性。

例如,如果单击文件>我的System.Web.dll的产品版本为2.0.50727.4955;来自资源管理器的属性。

但是我有以下代码:

var assemblies = AppDomain.CurrentDomain.GetAssemblies();

foreach (var assembly in assemblies)
{
    stringBuilder.Append("<br/>");
    stringBuilder.Append("<div><b>Name: </b>" + assembly.GetName() + "</div>");
    stringBuilder.Append("<div><b>Full name: </b>" + assembly.FullName + "</div>");
    stringBuilder.Append("<div><b>Is from GAC: </b>" + assembly.GlobalAssemblyCache + "</div>");
    stringBuilder.Append("<div><b>ImageRuntimeVersion: </b>" + assembly.ImageRuntimeVersion + "</div>");
}

ImageRuntimeVersion返回v2.0.50727,有什么方法可以获得产品版本的最后4位数字吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您正在寻找FileVersionInfo class

FileVersionInfo.GetVersionInfo(typeof(string).Assembly.Location)

答案 1 :(得分:-1)

我通常会这样做,它会返回版本的最后一部分:

return Assembly.GetAssembly(typeof(System.Web.UI.ScriptManager)).GetName().Version.ToString();