反编译预编译的源代码ASP.NET

时间:2011-01-05 19:56:36

标签: asp.net precompiled

我们在生产中有一个应用程序,代码是预编译形式。开发该应用程序的开发人员离开了公司,我们没有任何源代码备份。我们唯一的访问权限是服务器中的预编译代码。我们现在需要解决应用程序中的问题。

有没有办法解编译(提取到实际的源代码)预编译代码?

6 个答案:

答案 0 :(得分:13)

.NET Reflector

中打开DLL

答案 1 :(得分:3)

更新@ xOn的回答:

由于最近的源代码控制灾难,我不得不从DLL中恢复我的项目。很遗憾,我对这个程序了如指掌:

  1. 从此处获取.Net Reflector:http://www.red-gate.com/products/dotnet-development/reflector/

  2. 您似乎不需要FileDisassembler。

  3. 在Reflector中加载您的垃圾箱或双击它们。

  4. 请注意.Net框架可能没有维护原始项目文件结构。因此,如果您的某些ASPX页面在不同的.cs文件中共享相同的基本类名(IE Inherits标记相同,但CodeFile标记不同),您将无法简单地“导出源代码”码”。 不要盲目导出源文件。它不起作用。

  5. 在能够启动旧构建按钮之前,仍有一些工作要做。例如 - DLL可以直接引用属性的getter / setter。你必须解决这个问题。

  6. 祝你好运。

答案 2 :(得分:2)

开始于:

http://www.red-gate.com/products/dotnet-development/reflector/

...加上:

http://www.denisbauer.com/NETTools/FileDisassembler.aspx

你必须重新编译后者才能将它与反射器的v6.5链接起来(最新版本,截至本文。)如果你想避免复制和粘贴单个类,这是一个很好的附加组件手动进入文件。它会将完整的程序集转储为.cs文件。我认为它甚至可能产生一个csproj。

这两种工具都是免费的。

答案 3 :(得分:0)

我发现dll只能使用.NET Reflector工具读取,但无法提取源代码。而且,一旦webforms被预编译,我们甚至无法取回文件背后的代码。我们所能做的就是调试和分析代码。

答案 4 :(得分:0)

我有类似的问题并使用Reflector来反编译它。我得到了源代码,然后改变了我想要的位,并重建它。然后我再次将该dll复制到Production site。它开始反映我的变化。它非常简单并且一点都不困难,也许是因为预编译的站点每个页面都有dll,并且可以更新,所以在dll中只有代码隐藏文件。

供参考:http://www.reflector.net/

答案 5 :(得分:0)

当你在visual studio中安装.net reflector.its导入时。 然后你在菜单栏上看到了.net反射器工具。

单击.net reflector>>选择要调试的程序集(Dll文件)。

相关问题