Example #1
0
 public ModuleWriter(ModuleReader moduleReader, ProjectKeyReader projectKeyReader, Logger logger, EmbedTask config)
 {
     this.moduleReader = moduleReader;
     this.projectKeyReader = projectKeyReader;
     this.logger = logger;
     this.config = config;
 }
Example #2
0
 public AssemblyResolver(EmbedTask config, Logger logger, BuildEnginePropertyExtractor buildEnginePropertyExtractor)
 {
     this.config = config;
     this.logger = logger;
     this.buildEnginePropertyExtractor = buildEnginePropertyExtractor;
     assemblyDefinitionCache = new Dictionary<string, AssemblyDefinition>(StringComparer.OrdinalIgnoreCase);
 }
Example #3
0
 public AssemblyLoaderImporter(ModuleReader moduleReader, AssemblyResolver assemblyResolver, EmbedTask embedTask)
 {
     instructionConstructorInfo = typeof (Instruction).GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new[] {typeof (OpCode), typeof (object)}, null);
     this.moduleReader = moduleReader;
     this.assemblyResolver = assemblyResolver;
     this.embedTask = embedTask;
 }
Example #4
0
 public ResourceEmbedder(DependencyFinder dependencyFinder, ModuleReader moduleReader, EmbedTask embedTask, Logger logger)
 {
     streams = new List<Stream>();
     this.dependencyFinder = dependencyFinder;
     this.moduleReader = moduleReader;
     this.embedTask = embedTask;
     this.logger = logger;
 }
Example #5
0
    public WeaverHelper(string projectPath, bool createTemporaryAssemblies)
    {
        this.projectPath = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, @"..\..\..\", projectPath));

        GetAssemblyPath();

        string newAssembly;
        if (createTemporaryAssemblies)
        {
            newAssembly = assemblyPath.Replace(".dll", "TempFile.dll");
        }
        else
        {
            newAssembly = assemblyPath.Replace(".dll", "MemoryFile.dll");
        }
        var pdbFileName = Path.ChangeExtension(assemblyPath, "pdb");
        var newPdbFileName = Path.ChangeExtension(newAssembly, "pdb");
        File.Copy(assemblyPath, newAssembly, true);
        File.Copy(pdbFileName, newPdbFileName, true);
        var myBuildEngine = new StubBuildEngine
                                {
                                    ProjectFileOfTaskNode = this.projectPath
                                };
        var referenceCopyLocalPaths = GetCopyLocal().ToList();
        var embedTask = new EmbedTask
                            {
                                TargetPath = newAssembly,
                                BuildEngine = myBuildEngine,
                                References = GetReferences(),
                                DeleteReferences = false,
                                ReferenceCopyLocalPaths = referenceCopyLocalPaths,
                                CreateTemporaryAssemblies = createTemporaryAssemblies
                            };

        var execute = embedTask.Execute();
        if (!execute)
        {
            throw embedTask.Exception;
        }
        #if (RELEASE)
            foreach (var referenceCopyLocalPath in referenceCopyLocalPaths)
            {
                File.Delete(referenceCopyLocalPath);
            }
        #endif
        Assembly = Assembly.LoadFile(newAssembly);
    }
Example #6
0
 public ModuleReader(EmbedTask config, IAssemblyResolver assemblyResolver, Logger logger)
 {
     this.logger = logger;
     this.config = config;
     this.assemblyResolver = assemblyResolver;
 }
Example #7
0
 public TargetPathFinder(EmbedTask weavingTask, BuildEnginePropertyExtractor buildEnginePropertyExtractor, Logger logger)
 {
     this.weavingTask = weavingTask;
     this.buildEnginePropertyExtractor = buildEnginePropertyExtractor;
     this.logger = logger;
 }
Example #8
0
 public ReferenceDeleter(DependencyFinder dependencyFinder, EmbedTask embedTask, Logger logger)
 {
     this.dependencyFinder = dependencyFinder;
     this.embedTask = embedTask;
     this.logger = logger;
 }
Example #9
0
 public ProjectKeyReader(BuildEnginePropertyExtractor buildEnginePropertyExtractor, EmbedTask config)
 {
     this.buildEnginePropertyExtractor = buildEnginePropertyExtractor;
     this.config = config;
 }
Example #10
0
 public DependencyFinder(EmbedTask embedTask, IBuildEngine buildEngine, BuildEnginePropertyExtractor buildEnginePropertyExtractor)
 {
     this.embedTask = embedTask;
     this.buildEnginePropertyExtractor = buildEnginePropertyExtractor;
 }
Example #11
0
 public ResourceCaseFixer(DependencyFinder dependencyFinder, ModuleReader moduleReader, EmbedTask embedTask, Logger logger)
 {
     this.moduleReader = moduleReader;
 }