【问题标题】:Faster/better way to compare .NET References' properties?更快/更好的方法来比较 .NET 引用的属性?
【发布时间】:2010-03-10 13:38:27
【问题描述】:

我正在升级一个旧组件,该组件共享对不同版本的自定义程序集的引用。

为了比较来自两个不同项目的引用的属性,我一直在将两个不同引用中的属性值分别复制并粘贴到一个文本文件中,以便于概览和比较。 (如果需要,我可以将文本粘贴到差异应用程序中进行完整性检查。)但这是一个耗时且容易出错的过程。

有没有人知道一种快速/简单的方法可以在不易出错的过程中获取给定引用的所有属性的文本表示?

谢谢。

【问题讨论】:

    标签: .net assemblies comparison properties reference


    【解决方案1】:

    此信息包含在程序集的清单中。这是纯文本,包含引用的名称、密钥和版本。

    使用MSIL Disassembler 查看程序集的清单。

    【讨论】:

    • +1 此过程可行,但比较项目配置 xml 会更容易。
    【解决方案2】:

    实际上,我刚刚意识到我可以在 prj 文件中找到所有项目引用。每个引用看起来像这样:

    <Reference Include="Interop.FOO, Version=1.0.0.0, Culture=neutral,   
    PublicKeyToken=9d6cef09c63e9262, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\Lib\Interop.FOO.dll</HintPath>
    </Reference>
    

    我所要做的就是在另一个项目中找到类似的参考,然后在文本编辑器或差异应用程序中比较两者。

    【讨论】:

    • 是的,但是当项目最终构建时,您永远不会知道使用的是哪个版本的程序集。
    • 好点。 prj 文件实际上并不包含引用程序集的所有可能属性。
    • 好吧,设置 SpecificVersion = True 来解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多