void SetUpAssembly() { var outputFile = BuildOutputAssemblyName(); var asmName = CreateAssemblyName(outputFile); var assemblyBuilderAccess = GetAssemblyBuilderAccess(); var targetDirectory = GetTargetDirectory(outputFile); _asmBuilder = string.IsNullOrEmpty(targetDirectory) ? AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, assemblyBuilderAccess) : AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, assemblyBuilderAccess, targetDirectory); if (Parameters.Debug) { // ikvm tip: Set DebuggableAttribute to assembly before // creating the module, to make sure Visual Studio (Whidbey) // picks up the attribute when debugging dynamically generated code. _asmBuilder.SetCustomAttribute(CreateDebuggableAttribute()); } _asmBuilder.SetCustomAttribute(CreateRuntimeCompatibilityAttribute()); _moduleBuilder = _asmBuilder.DefineDynamicModule(asmName.Name, Path.GetFileName(outputFile), Parameters.Debug); if (Parameters.Unsafe) { _asmBuilder.SetCustomAttribute(CreateSecurityPermissionAttribute("SkipVerification")); _moduleBuilder.SetCustomAttribute(CreateUnverifiableCodeAttribute()); } _sreResourceService = new SREResourceService (_asmBuilder, _moduleBuilder); ContextAnnotations.SetAssemblyBuilder(Context, _asmBuilder); Context.GeneratedAssemblyFileName = outputFile; }
void SetUpAssembly() { string fname = Parameters.OutputAssembly; if (0 == fname.Length) { fname = CompileUnit.Modules[0].Name; } string outputFile = BuildOutputAssemblyName(fname); AssemblyName asmName = CreateAssemblyName(outputFile); _asmBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, GetAssemblyBuilderAccess(), GetTargetDirectory(outputFile)); if (Parameters.Debug) { // ikvm tip: Set DebuggableAttribute to assembly before // creating the module, to make sure Visual Studio (Whidbey) // picks up the attribute when debugging dynamically generated code. _asmBuilder.SetCustomAttribute(CreateDebuggableAttribute()); } _asmBuilder.SetCustomAttribute(CreateRuntimeCompatibilityAttribute()); _moduleBuilder = _asmBuilder.DefineDynamicModule(asmName.Name, Path.GetFileName(outputFile), Parameters.Debug); _sreResourceService = new SREResourceService (_asmBuilder, _moduleBuilder); ContextAnnotations.SetAssemblyBuilder(Context, _asmBuilder); Context.GeneratedAssemblyFileName = outputFile; }