ILSpy - 如何修改反编译后的代码看起来像 Github 源代码?

问题描述

我的目标是反编译一个 C# libarabry 并将其与 Github 中相同库的源代码进行比较。 我想研究给定的源代码(反编译后)是否与Github中的源代码相同。

我已经使用 ILSpy 来尝试实现这一目标。 我已经下载并反编译了库“FluentScheduler”(v 5.5.1) - Nuget 链接https://www.nuget.org/packages/FluentScheduler/

我将给定的源代码(在我的例子中,我使用 MonthUnit.cs 文件)与 Github 上的相同(同样版本)。

Github 链接

我注意到代码非常相似,但不完全相同,例如:

we can see the difference between the source code generated by ILSpy and the source code on Github

有什么办法可以用ILSpy conf去掉不必要的括号?单线? 使其与 Github 源代码完全匹配? 如果不是,我应该使用另一个工具来反编译文件并产生与 Github 相同的结果吗?

非常感谢!

解决方法

有什么办法可以用ILSpy conf去掉不必要的括号?单线?使其与 Github 源代码完全匹配?

不,没有。反编译时不需要的东西(例如空格格式或不需要在最终汇编中的东西,如冗余语句)将不存在。

您可以做的是使用相同的格式化程序,在源代码和反编译结果上积极强制执行特定样式(并不重要)。那应该会让你更接近。但它可能不会 100% 完美。