Before deploying my project, I would like to set all public
methods to internal
methods. Does someone know a built-in function in Visual Studio or an external tool to do such tasks?
With some trivial refactoring, ILMerge can work here. ILMerge can merge multiple assemblies into one, and change the accessibility of everything that is not part of the primary assembly to internal
. By separating your current project into two projects (a library containing all the code, and a helper executable that does nothing but forward to the real code in the library), you can, after a build, merge them back into a single file, in which all the library bits are no longer public.