public IntrinsicsAssemblyBuilder(string corlibAssemblyFullName) { var corlibRef = new AssemblyRefUser(new AssemblyNameInfo(corlibAssemblyFullName)); module = new ModuleDefUser(Guid.NewGuid().ToString(), Guid.NewGuid(), corlibRef); module.Kind = ModuleKind.Dll; var asm = new AssemblyDefUser(Guid.NewGuid().ToString()); asm.Modules.Add(module); intrinsicsType = new TypeDefUser(ExpressionCompilerConstants.IntrinsicAssemblyNamespace, ExpressionCompilerConstants.IntrinsicAssemblyTypeName, module.CorLibTypes.Object.TypeDefOrRef); intrinsicsType.Attributes = TypeAttributes.Public | TypeAttributes.AutoLayout | TypeAttributes.Class | TypeAttributes.AnsiClass | TypeAttributes.Abstract | TypeAttributes.Sealed; module.Types.Add(intrinsicsType); corlibTypes = module.CorLibTypes; exceptionTypeSig = new ClassSig(corlibTypes.GetTypeRef(nameof(System), nameof(Exception))); typeTypeSig = new ClassSig(corlibTypes.GetTypeRef(nameof(System), nameof(Type))); guidTypeSig = new ValueTypeSig(corlibTypes.GetTypeRef(nameof(System), nameof(Guid))); }