代码之家  ›  专栏  ›  技术社区  ›  Ken

如何确定GAC程序集的最新版本号

  •  2
  • Ken  · 技术社区  · 16 年前

    我正在尝试为我的应用程序创建一个诊断日志,该日志将显示安装在GAC中的程序集的最新版本号。例如,在GAC中,同一程序集有两个版本:foo.dll版本1.0.0.0和foo.dll版本2.0.0.0。我需要如下功能:

    GetLatestGacVersion("foo.dll");  // returns "2.0.0.0"
    

    有人知道最好的方法吗?

    谢谢!

    2 回复  |  直到 16 年前
        1
  •  4
  •   Foxfire    16 年前

    最简单的是:

    Assembly a = Assembly.LoadWithPartialName ("foo.dll");
    return a.GetName ().Version
    

    它将自动提供来自GAC的最新版本程序集。

    请注意,出于充分的原因,该方法已被弃用。从GAC请求一个不特定的版本可能会引起很多麻烦。

    如果不知道自己想做什么,就很难给出进一步的建议,但是一般来说,如果你在寻找一个特定的版本,你应该去探索它,而不是仅仅加载“某物”。

        2
  •  3
  •   Darin Dimitrov    16 年前

    使用A managed wrapper 周围 Fusion API (fusion.dll)您可以枚举GAC中的程序集,按名称和版本顺序筛选它们。

    推荐文章