我有一个是当前部署我们的生产服务器(#.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 知道哪些文件被用来编译组件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top