我刚刚继承了一个Web应用程序,其源代码早已丢失(最初于2010年编写并被搁置)。该应用程序有一些与应用程序本身相关的.dll程序集,例如“applicationCORE.dll”,“applicationBI.dll”,“applicationDATA.dll”和“application.dll”
我见过this question,建议的工具(Just Decompile)很棒,为我反编译的第一个程序集创建了一个.sln和.csproj文件。我的问题是如何合并通过反编译与编译的Web应用程序文件(.aspx)创建的各种项目,如何解析.aspx文件中的引用,即引用不再存在的代码隐藏文件,例如: “default.aspx”引用“default.aspx.cs”,而反编译器创建“default.cs”文件。重命名.cs文件是否更安全,还是应该更新引用?
最后,每个dll会在解决方案中显示为单独的项目吗?
我意识到这可能被视为一个重复的问题,但是似乎没有一个在线资源可以让开发人员完成整个过程。
答案 0 :(得分:2)
根据David的建议,我设法从反编译程序集中运行应用程序。这是我为使其工作而遵循的流程
.aspx
页面添加到了项目中
codebehind
引用。文件applicationCore.dll
添加到解决方案bin
文件夹其他步骤
还有语法错误,我认为是由于反编译过程。需要添加一些外部参考,并且由于项目的年龄而略有变化,例如asp:AjaxScriptControl
已更改为asp:ScriptControl
(使用Nuget添加包后)。我还必须为此应用程序安装Crystal Reports,并且必须购买Telerik许可证,因为正在使用UI组件(尽管我会看到我在使用应用程序时是否可以使用开放/本机替代方案)。
我已使用凭据登录(我必须设置正确的启动页面)并尝试了一些基本的CRUD操作。有些愚蠢的问题需要解决,例如如果您访问受保护的页面,则身份验证无法正常运行并且没有重定向,但与我最初遇到的问题相比,这些事情相对较小。
我必须说的是,使用本网站的问题和答案解决了每个错误!这一切都在不到6小时内完成。