确定原单生成位置/一个exe的使用.net反射或其他工具路径
-
25-09-2019 - |
题
我有一个是当前部署我们的生产服务器(#.NET 2)上的EXE。我继承作出一些改变这个应用程序和重新部署的任务。
我没有写这个程序,我一直指着各种网络驱动器的几个不同文件夹中有几个不同的Visual Studio解决方案(〜10)是这个应用程序的各种咒语通过时间,并可能成为竞争者使用的是Visual Studio项目生成此exe,但我不知道使用了哪个项目相匹配的生产EXE。
有没有使用.NET反射器或其他工具来确定原始文件路径的源文件放置的时候被用来编译EXE ,然后我就可以工作向后,以确定正确视觉的方式工作室溶液,并开始做变更。
由于
解决方案
这是一种情况听起来像一个地狱,如果你不能知道什么是什么在生产环境中运行的由来。
然而,一个可能的解决方案是看看该.exe的调试头组件,如果它已被编译的调试符号,它可包含在PDB的原始完整路径,给你的地方的线索已建成。您可以使用dumpbin
工具是Windows的一部分SDK得到它。
下面是输出的示例:
Debug Directories
Time Type Size RVA Pointer
-------- ------ -------- -------- --------
4A0F2A94 cv 51 0006672C 6492C Format: RSDS, {77468AA8-8494-46AC-87DF-422721517504}, 8, C:\sources\mcs\class\Mono.Cecil\obj\Debug\Mono.Cecil.pdb
更重要的是,如果你有PDB方便,你可以像使用 pdbdump 知道哪些文件被用来编译组件。
其他提示
您最好的选择可能是在 HTTP使用反射器的文件生成器插件之一://www.codeplex .COM / reflectoraddins 转储代码到文件中。在进行任何更改之前但是,请确保您可以重建。
不隶属于 StackOverflow