protected virtual string EmitAssemblyFromResource(string resource, Assembly[] references) { CopyDependenciesToTemp(); string resourceName = ResourceServices.CompleteResourceName(GetType(), resource); return(CompilationServices.EmitAssemblyFromResource(resourceName, references)); }
public static string EmitAssemblyFromResource(string resourceName, Action <string> sourceHandler, Assembly[] references) { string assemblyFileName = Path.Combine(ShellUtilities.GetTempPath(), resourceName + (Debug.Value ? ".Debug.dll" : ".dll")); string sourceFileName = Path.Combine(ShellUtilities.GetTempPath(), resourceName); File.WriteAllText(sourceFileName, ResourceServices.GetResourceAsString(resourceName)); DeleteAssemblyAndPdb(assemblyFileName); EmitAssembly(assemblyFileName, references, sourceFileName); sourceHandler(sourceFileName); return(assemblyFileName); }
private string CompileAndInstrumentCFAssembly(string version) { var assemblyPath = string.Empty; CompilationServices.ExtraParameters.Using( "/nostdlib+", delegate { assemblyPath = CompilationServices.EmitAssemblyFromResource( ResourceServices.CompleteResourceName(GetType(), "CFInstrumentationSubject"), ReferencesFor(version)); Db4oTool.Program.Run(ProgramOptionsFor(assemblyPath)); }); return(assemblyPath); }