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

C# 是否可以在不访问项目文件的情况下重构ASP.NET应用程序?,c#,asp.net,refactoring,code-behind,C#,Asp.net,Refactoring,Code Behind,场景:我有权访问在远程web服务器上运行的已发布ASP.NET应用程序。目录结构如下所示: 据我所知,我无权访问项目/解决方案文件。具体来说,我找不到需要修改的特定C#代码隐藏文件 是否可以仅使用已发布的代码以最小的工作量重建此项目?您可以使用类似于反编译器的方法来反编译dll,但只有在代码未被混淆的情况下,这种方法才会起作用。即使这样,您也可能无法从原始解决方案中重新生成所有文件。您可以使用类似反编译器的方法来反编译dll,但这仅在代码未被混淆的情况下才起作用。即使这样,您也可能无法从原始解

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

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


是否可以仅使用已发布的代码以最小的工作量重建此项目?

您可以使用类似于反编译器的方法来反编译dll,但只有在代码未被混淆的情况下,这种方法才会起作用。即使这样,您也可能无法从原始解决方案中重新生成所有文件。

您可以使用类似反编译器的方法来反编译dll,但这仅在代码未被混淆的情况下才起作用。即使这样,您也可能无法从原始解决方案中重新生成所有文件。

有几点需要澄清:

重构就是在不改变外部行为的情况下改变其内部结构。您可以通过使用反编译器访问源代码,但通常不值得投入大量时间,因为反编译器已经做出了格式化决策,使得大多数代码难以为人类阅读(因为它已经被精简为仅用于机器可读性)

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

此外,某些asp.net文件未编译为.dll。通常.dll只包括以.vb或.cs结尾的文件。您仍然需要访问并包含未编译的页面,如.aspx和.ascx文件,但这些文件也将位于您的服务器上


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

重构就是在不改变外部行为的情况下改变其内部结构。您可以通过使用反编译器访问源代码,但通常不值得投入大量时间,因为反编译器已经做出了格式化决策,使得大多数代码难以为人类阅读(因为它已经被精简为仅用于机器可读性)

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

此外,某些asp.net文件未编译为.dll。通常.dll只包括以.vb或.cs结尾的文件。您仍然需要访问并包含未编译的页面,如.aspx和.ascx文件,但这些文件也将位于您的服务器上


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

谢谢。我会试一试,让你知道它是否奏效。反编译似乎奏效了。我想我只是需要在我做出改变后重新部署。谢谢。我会试一试,让你知道它是否奏效。反编译似乎奏效了。我想我只是需要在做了更改后重新部署。我想我不是在真正重构,只是在调整一些功能。我想我不是在真正重构,只是在调整一些功能。