我有一个为他建立了一个 ASP.net web-forms 网站的客户。
他无法联系到原始开发者,但他想对网站进行一些更改(添加页面和更改现有页面)。
我有来自 ftp 站点的生产文件,但这就是我能够检索的全部内容。
是否可以仅使用生产文件创建源代码和解决方案文件,或者他必须从头开始使用该站点?
取决于你有什么样的网络表单项目。
如果您有一个已编译但可更新的网站项目,则服务器上有 .vb/.cs 和 .aspx 文件。然后,您可以创建一个 VB.NET/C# 网站项目并从资源管理器中拖放文件。
您必须手动添加依赖项(例如 bin 文件夹中的 DLL),但您应该能够在一小时内编译项目。
如果是编译好的工程,可以使用ILSpy反编译DLL,包括工程。
但是,与反编译 WinForms 应用程序不同,反编译 ASP.NET 应用程序可能不会产生可编译的项目。但它尽可能接近。如果它编译,它可能无法正常运行。您正在为一个不太复杂的应用程序寻找大约一周的工作量。
另外,如果它是一个网络表单项目并且不太复杂,我会重新开始(如果可能,可能复制 HTML/CSS 标记和图像)。我会在 ASP.NET MVC 中重做它(5 是最新版本 - 我相信 - 6 将包括重大变化)。
WebForms 项目通过 PostBacks 来做事,这使得它在技术上很难测试,更糟糕的是,它非常慢。另外,一旦您开始将 Postbacks(页面重新加载)与 JavaScript 混合使用,您就会遇到问题。所以我会从 MVC、jQuery 和 AJAX(不是 Microsoft Ajax 控件)重新开始。那只是我的5美分。