Exemplo n.º 1
0
        private void RepackTypes()
        {
            _logger.Info("Processing types");

            if (_repackOptions.OptMode == OptionMode.merge)
            {
                // merge types, this differs between 'primary' and 'other' assemblies regarding internalizing

                foreach (var r in _repackContext.PrimaryAssemblyDefinition.Modules.SelectMany(x => x.Types))
                {
                    _logger.Verbose($"- Importing {r} from {r.Module}");
                    _repackImporter.Import(r, _repackContext.TargetAssemblyMainModule.Types, false);
                }

                foreach (var r in _repackContext.OtherAssemblies.SelectMany(x => x.Modules).SelectMany(m => m.Types))
                {
                    _logger.Verbose($"- Importing {r} from {r.Module}");
                    _repackImporter.Import(r, _repackContext.TargetAssemblyMainModule.Types, ShouldInternalize(r.FullName));
                }
            }
            else
            {
                foreach (var r in _allTypes)
                {
                    _logger.Verbose($"- Importing {r} from {r.Module}");
                    _repackImporter.Import(r, _repackContext.TargetAssemblyMainModule.Types, false);
                }
            }
        }