我怀疑我们正在使用的 asp.net mvc dll 已被修改,因为:
- Microsoft 符号服务器上没有匹配的符号信息。
- 有问题的 dll 不是强命名的。
如何最终确认 dll 是否确实来自 Microsoft 并且没有更改?
PS - 我意识到这听起来像是一个安全问题,在这种情况下它绝对有效,但我的目的是找出我的前辈是否包含了维护项目所需的所有代码。
我怀疑我们正在使用的 asp.net mvc dll 已被修改,因为:
如何最终确认 dll 是否确实来自 Microsoft 并且没有更改?
PS - 我意识到这听起来像是一个安全问题,在这种情况下它绝对有效,但我的目的是找出我的前辈是否包含了维护项目所需的所有代码。
"%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\bin\sn.exe" -T
例如:
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\sn.exe" -T c:\Windows\Microsoft.NET\Framework\v4.0.30319\system.xml.dll
将输出的公钥令牌与预期的公钥令牌进行比较。
对于它的价值,如果您引用一个强命名的 DLL,它将始终只加载具有相同强名称的 DLL(您可以绕过不同的版本,但这是一个单独的主题)。您可以通过查看您的 csproj 文件的源来验证正在使用的正确(合法)DLL,以确保正在使用合法的公钥令牌。
如果程序集经过数字签名,那么您可以确定它的所有者。他们说一张照片值一千个字,所以这里...
选择程序集是问题并按照下图查看其属性