5

我对 dotpeek 产品有最奇怪的感觉。

我从本地文件夹中打开了一个旧的 dll 版本,并在 dotpeek 中看到了一些添加到较新版本的代码。经过大约一天的调查后,反汇编向我展示了旧代码。

有人可以向我解释如何做到这一点以及将来如何避免它。我能想到的唯一解释是新版本已加载到 GAC(全局程序集缓存)。

有人遇到过这个问题并知道如何解决吗?

4

2 回答 2

2

有一个“使用调试信息进行导航”选项。如果设置,dotPeek 将尝试使用来自 .pdb 文件的源文件信息,并显示该类的实际源代码,而不是反编译。可能是 dotPeek 正在显示源文件,但自上次编译 .dll 以来该文件已更改。清除此复选框意味着 dotPeek 将始终反编译。

提出了一个问题 ( DOTP-7375 ) 来为该选项使用更好的措辞,因此很明显 dotPeek 正在做什么。而且我刚刚提出了另一个问题 ( DOTP -7376 ),以确保 dotPeek 还使用 .pdb 中的校验和验证源文件的校验和,以便它不会显示过时/更新的源文件。

于 2016-09-19T10:40:08.723 回答
0

确保删除本地源文件。

当本地源文件不存在时,dotpeek 将被强制反编译。

于 2016-09-21T06:14:46.100 回答