在 C# dll 中更改一个 cs 文件
Change one cs file in C# dll
我对 C# 编程一窍不通。
我的问题是我有一个包含许多 .cs 文件的 DLL 文件。在其中一个 .cs 文件中实现的一种方法编写得很糟糕,并且会减慢整个应用程序的速度。我尝试使用 NET Reflector 反编译整个 DLL 并成功,但有 14 个错误。然后我改进了我的一个 .cs 文件并再次尝试将所有 .cs 编译回 .DLL。正如您所怀疑的那样,我在 Visual Studio 中出现了超过 100 个编译错误。我认为这是因为反编译代码的质量差而发生的。
如果不花 1000 小时学习 C#、理解所有 10MB 的源 .cs 文件、重写它们并编译回 DLL,我能用它做些什么吗?
您不能更改 DLL 中的 .cs 文件,因为 DLL 不包含文件,而是由 IL 代码组成 - 至少,当您谈论 .Net-Library 时。
您可以反编译DLL,更改代码并重新编译,但反编译的代码可能无法再次编译,具体取决于原始代码包含的内容。
如果没有可用于 DLL 的源代码,您可能无法更改 DLL 的行为方式。
您可以尝试通过继承在 DLL 中扩展 class 并改用您的 "Updated version"。
如果您仍然希望更改 dll,而不是扩展 class,
你可以使用 IL spy with reflexil.
- 这允许您更改 dll 并保存它。
- 您可以轻松地对 DLL 进行小的更改。
我对 C# 编程一窍不通。
我的问题是我有一个包含许多 .cs 文件的 DLL 文件。在其中一个 .cs 文件中实现的一种方法编写得很糟糕,并且会减慢整个应用程序的速度。我尝试使用 NET Reflector 反编译整个 DLL 并成功,但有 14 个错误。然后我改进了我的一个 .cs 文件并再次尝试将所有 .cs 编译回 .DLL。正如您所怀疑的那样,我在 Visual Studio 中出现了超过 100 个编译错误。我认为这是因为反编译代码的质量差而发生的。
如果不花 1000 小时学习 C#、理解所有 10MB 的源 .cs 文件、重写它们并编译回 DLL,我能用它做些什么吗?
您不能更改 DLL 中的 .cs 文件,因为 DLL 不包含文件,而是由 IL 代码组成 - 至少,当您谈论 .Net-Library 时。
您可以反编译DLL,更改代码并重新编译,但反编译的代码可能无法再次编译,具体取决于原始代码包含的内容。
如果没有可用于 DLL 的源代码,您可能无法更改 DLL 的行为方式。
您可以尝试通过继承在 DLL 中扩展 class 并改用您的 "Updated version"。
如果您仍然希望更改 dll,而不是扩展 class, 你可以使用 IL spy with reflexil.
- 这允许您更改 dll 并保存它。
- 您可以轻松地对 DLL 进行小的更改。