Ich habe eine Frage zu der dnlib. Ich benutze folgenden Code um ein kleines leeres Programm zu erstellen:
|
C#-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
ModuleDefUser md = new ModuleDefUser("MyExe.exe");
md.Kind = ModuleKind.Console;
AssemblyDefUser asm = new AssemblyDefUser("MyExe");
asm.Modules.Add(md);
TypeDefUser type = new TypeDefUser("MyExe", "Program", md.CorLibTypes.Object.TypeDefOrRef);
type.Attributes = TypeAttributes.Public | TypeAttributes.Class;
md.Types.Add(type);
MethodDefUser mtd = new MethodDefUser("Main", MethodSig.CreateStatic(md.CorLibTypes.Void, new SZArraySig(md.CorLibTypes.String)));
mtd.Attributes = MethodAttributes.Static;
mtd.ImplAttributes = MethodImplAttributes.IL | MethodImplAttributes.Managed;
mtd.ParamDefs.Add(new ParamDefUser("args", 1));
type.Methods.Add(mtd);
md.EntryPoint = mtd;
md.Write(@"C:\users\...\Desktop\MyExe.exe");
|
Meine Frage: Es gibt bei der Kompilierung keine Fehler, dnlib meldet keine Ausnahmen, aber wenn ich das erzeugte Program starten will steht da: "MyExe.exe funktioniert nicht mehr" wisst ihr wieso?
mfg