2016-09-18 54 views
1

我有dotpeek产品最怪异的东西。dotpeek显示来自不同版本的代码

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

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

任何人遇到此问题并知道如何解决它?

回答

0

确保您删除本地源文件。

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

0

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

有一个问题(DOTP-7375)提出使用更好的措辞的选项,所以很明显dotPeek做了什么。我刚刚提出了另一个问题(DOTP-7376),以确保dotPeek也验证源文件的校验和与.pdb中的校验和,以便它不显示过时/新的源文件。

+0

我相信我的问题就像你已经打开的问题(DOTP-7376)中描述的那样(应该给我至少+1的问题)。 我认为你也应该考虑改变这个复选框的默认状态...... – silver