void ProcessDir(string directory)
    {
        var newDirPath = Path.Combine(converted, Path.GetFileName(directory));

        PurgeDirectory(newDirPath);
        ReaderParameters readerParameters = new()
        {
            AssemblyResolver = new AssemblyResolver(newDirPath)
        };
        var modules = Directory.EnumerateFiles(directory).Select(x => ModuleDefinition.ReadModule(x, readerParameters)).ToList();

        foreach (var module in modules.OrderBy(x => SharePointRefs(x).Count()))
        {
            foreach (var reference in SharePointRefs(module))
            {
                var refModule = modules.Single(x => x.Assembly.Name.Name == reference.Name);
                reference.PublicKeyToken = refModule.Assembly.Name.PublicKeyToken;
            }

            EmptyConstructor.Execute(module);
            new Virtual().Execute(module);
            var newFilePath      = Path.Combine(converted, Path.GetFileName(directory), module.Name);
            var writerParameters = GetWriterParameters();
            module.Write(newFilePath, writerParameters);
        }
    }
Exemple #2
0
 public void SetUp()
 {
     faker            = new Faker();
     foo              = faker.Create <Foo>();
     bar              = faker.Create <Bar>();
     emptyConstructor = faker.Create <EmptyConstructor>();
 }