2010-03-10 57 views
2

我正在升級一個較老的組件,它共享對不同版本的自定義程序集的引用。比較.NET參考的屬性更快/更好的方法?

要比較來自兩個不同項目的引用的屬性,我一直在複製和粘貼兩個不同引用的屬性值,以便於進行簡單的概述和比較。 (如果需要,我可以將文本粘貼到diff應用程序進行完整性檢查。)但這是一個耗時且容易出錯的過程。

有沒有人知道一個快速/簡單的方法來得到一個給定的引用的所有屬性的文本表示在一個不太容易出錯的過程?

謝謝。

回答

1

此信息包含在程序集清單中。這是純文本,包含引用的名稱,密鑰和版本。使用MSIL Disassembler來查看程序集的清單。

+0

+1此過程可以工作,但比較項目config xml會更容易。 – 2010-03-10 13:54:33

0

其實我只是意識到我可以在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> 

所有我需要做的就是找到在其他項目中的類似參考,並在文本編輯器或區分應用比較兩個。

+0

是的,但您永遠不會知道項目最終構建時使用的程序集版本。 – 2010-03-10 13:54:11

+0

好點。 prj文件實際上並不包含引用程序集的所有可能的屬性。 – 2010-03-10 13:57:25

+0

好吧,設置SpecificVersion = True來解決這個問題。 – 2010-03-10 14:01:51