Sometimes, code obfuscation is impossible for certain .NET assemblies.
There are several possible reasons for this issue. One possibility is that the assembly you want to protect has internal component referencing problems. This can occur when some referenced DLLs or NuGet packages have coupling issues within a project.
In earlier versions of the .NET Framework (1.0 through 4.8), assemblies did not encounter such issues because the .NET compiler would halt the build process with a compilation error if there were unresolved references, preventing the creation of the final .exe or .dll. However, in modern .NET versions, the compilers no longer enforce strict reference checks, allowing the final assembly to be compiled even if some binary file references are missing or inaccurate.
In this scenario, the Skater Obfuscator code compiler is unable to identify all external components referenced by the assembly, causing the obfuscation process to fail. The assembly includes implicitly defined references to external components specified in the project to which it belongs.
To proceed, you have the following options:
Press 1 in the popup window to disregard these broken references. This will allow the obfuscation to continue, but the resulting assembly may contain internal errors and may not function correctly.
Press 2 to proceed with obfuscation 'as is.' Be aware that the process might fail.
Press Cancel to terminate the process.
In conclusion, Skater .NET Obfuscator navigates around this obstacle by excluding the compiler warning from the obfuscated code. However, we highly recommend addressing these issues by making the necessary corrections to your project before attempting to obfuscate the assembly.
Top comments (0)