コード例 #1
0
        public IEnumerable <AssemblyNameReference> GetReferences(AssemblyDefinition asmDef)
        {
            foreach (var @ref in asmDef.MainModule.AssemblyReferences.Where(x => !LinkContext.IsCore(x) && !Globals.Context.MarkedAssemblies.Contains(x.FullName)))
            {
                var resolved = @ref.ResolveReference();

                yield return(@ref);

                if (resolved.MainModule.AssemblyReferences.Where(x => !LinkContext.IsCore(x)).ToArray().Length > 0)
                {
                    foreach (var _ref in GetReferences(@ref.ResolveReference()))
                    {
                        yield return(_ref);
                    }
                }
            }
        }