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;
 }
Ejemplo n.º 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);
 }
Ejemplo n.º 3
0
 public ModuleWriter(ModuleReader moduleReader, ProjectKeyReader projectKeyReader, Logger logger, EmbedTask config)
 {
     this.moduleReader     = moduleReader;
     this.projectKeyReader = projectKeyReader;
     this.logger           = logger;
     this.config           = config;
 }
Ejemplo n.º 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;
 }
Ejemplo n.º 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);
    }
Ejemplo n.º 6
0
 public ModuleReader(EmbedTask config, IAssemblyResolver assemblyResolver, Logger logger)
 {
     this.logger           = logger;
     this.config           = config;
     this.assemblyResolver = assemblyResolver;
 }
Ejemplo n.º 7
0
 public TargetPathFinder(EmbedTask weavingTask, BuildEnginePropertyExtractor buildEnginePropertyExtractor, Logger logger)
 {
     this.weavingTask = weavingTask;
     this.buildEnginePropertyExtractor = buildEnginePropertyExtractor;
     this.logger = logger;
 }
Ejemplo n.º 8
0
 public DependencyFinder(EmbedTask embedTask, IBuildEngine buildEngine, BuildEnginePropertyExtractor buildEnginePropertyExtractor)
 {
     this.embedTask = embedTask;
     this.buildEnginePropertyExtractor = buildEnginePropertyExtractor;
 }
Ejemplo n.º 9
0
 public ResourceCaseFixer(DependencyFinder dependencyFinder, ModuleReader moduleReader, EmbedTask embedTask, Logger logger)
 {
     this.moduleReader = moduleReader;
 }
Ejemplo n.º 10
0
 public ProjectKeyReader(BuildEnginePropertyExtractor buildEnginePropertyExtractor, EmbedTask config)
 {
     this.buildEnginePropertyExtractor = buildEnginePropertyExtractor;
     this.config = config;
 }
Ejemplo n.º 11
0
 public ReferenceDeleter(DependencyFinder dependencyFinder, EmbedTask embedTask, Logger logger)
 {
     this.dependencyFinder = dependencyFinder;
     this.embedTask        = embedTask;
     this.logger           = logger;
 }