I want to create a simple application using the classes in System.Reflection.Emit. How to add enrypoint directive to Main method?
AssemblyName aName = new AssemblyName("Hello"); AssemblyBuilder aBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(aName, AssemblyBuilderAccess.Save); ModuleBuilder mBuilder = aBuilder.DefineDynamicModule("Module"); TypeBuilder tb = mBuilder.DefineType("Program", TypeAttributes.Public); MethodBuilder methodBuilder = tb.DefineMethod("Main", MethodAttributes.Public | MethodAttributes.Static); ILGenerator ilGenerator = methodBuilder.GetILGenerator(); ilGenerator.EmitWriteLine("Hello!"); aBuilder.SetEntryPoint(methodBuilder); tb.CreateType(); aBuilder.Save("Hello.exe");
AssemblyBuilder.SetEntryPoint does not seem to achieve this.
source share