是否可以在不访问项目文件的情况下重构ASP.NET应用程序?

0 c# asp.net refactoring code-behind

场景:我可以访问在远程Web服务器上运行的已发布的ASP.NET应用程序.目录结构如下所示:

在此输入图像描述

据我所知,我无法访问项目/解决方案文件.具体来说,我找不到需要修改的特定C#代码隐藏文件.

是否可以仅使用已发布的代码轻松地重建此项目?

Kyl*_*Mit 5

几点澄清:

重构某些东西是改变其内部结构而不改变其外部行为.您可以使用反编译器访问源代码,但通常不值得投入大量时间,因为反编译器已经做出格式化决策,使得大多数代码难以为人类阅读(因为它已被剥离以仅用于机器的可读性) .

重构通常只是为了提高代码的性能或可读性,所以如果您的目标是后者,那么您将开始茫然.我的猜测是你需要进入并调整一些功能,在这种情况下,反编译器确实是唯一的方法,但找到源代码并保持良好的源代码跟踪可能是一个更好的选择.当我们将代码部署到生产时,我们包含一个ReadMe.txt文件,指示在哪里查找源代码.

另外,一些asp.net文件没有编译成.dll文件.通常.dll仅包含以.vb或.cs结尾的文件.您仍然需要访问并包含非编译页面,如.aspx和.ascx文件,但这些也将在您的服务器上.

.NET Reflector的一个很好的免费替代方法是使用Telerik的Just Decompile,它可以从编译的代码中重新创建.proj文件.