關於改進我的構建和部署例程,我希望比較兩個不同程序集的代碼。我無法比較文件大小和創建日期,或者程序集的二進制內容,因爲即使程序集在邏輯上相同,它們也可能有所不同。從c反彙編代碼#
在以前的項目中,我已經使用了ildasm.exe併爲每個程序集生成了一個文本文件,並在稍作修改後對其進行了比較,但我寧願在不運行Process.Start()的情況下在c#代碼中執行此操作。
作爲例子,我希望做這樣的事情:
public bool AssemblyComparer(string path1, string path2)
{
var text1 = MagicLibrary.Disassemble(path1);
var text2 = MagicLibrary.Disassemble(path2);
return text1.Equals(text2);
}
任何建議,如何做到這一點可以理解。
'組件的二進制內容,因爲即使組件在邏輯上相同,它們也可能不同。「我沒有得到這個? – 2014-11-21 08:36:45
整個詞是使用版本。你爲什麼要比較內容? – Sinatr 2014-11-21 08:49:03
二進制內容包含程序集編譯時的時間戳,因此即使它們在邏輯上相同,它們也不具有相同的校驗和。 – Snorre 2014-11-21 11:54:03