Пример #1
0
        public string GetTargetFrameworkForAssembly(TargetRuntime tr, string file)
        {
            try {
                AssemblyDefinition asm = AssemblyFactory.GetAssemblyManifest(file);

                AssemblyNameReferenceCollection names = asm.MainModule.AssemblyReferences;
                foreach (AssemblyNameReference aname in names)
                {
                    if (aname.Name == "mscorlib")
                    {
                        foreach (TargetFramework tf in GetTargetFrameworks())
                        {
                            if (tf.GetCorlibVersion() == aname.Version.ToString())
                            {
                                return(tf.Id);
                            }
                        }
                        break;
                    }
                }
            } catch {
                // Ignore
            }
            return("FxUnknown");
        }
Пример #2
0
 public virtual void VisitAssemblyNameReferenceCollection(AssemblyNameReferenceCollection names)
 {
     foreach (AssemblyNameReference nameRef in names)
     {
         VisitAssemblyNameReference(nameRef);
     }
 }
Пример #3
0
 public override void VisitAssemblyNameReferenceCollection(AssemblyNameReferenceCollection references)
 {
     foreach (AssemblyNameReference reference in references)
     {
         VisitAssemblyNameReference(reference);
         m_writer.WriteLine();
     }
 }
Пример #4
0
 void DeleteAssemblyReference(AssemblyNameReferenceCollection col, string refer)
 {
     foreach (AssemblyNameReference aref in col)
     {
         if (aref.Name == refer)
         {
             col.Remove(aref);
             return;
         }
     }
 }
Пример #5
0
        public IEnumerable <string> ReadAssemblyReferences()
        {
            AssemblyDefinition asm = AssemblyFactory.GetAssemblyManifest(assemblyFile);

            AssemblyNameReferenceCollection names = asm.MainModule.AssemblyReferences;

            foreach (AssemblyNameReference aname in names)
            {
                string afile = runtime.AssemblyContext.GetAssemblyLocation(aname.FullName, fx);
                if (afile != null)
                {
                    yield return("Assembly:" + runtime.Id + ":" + Path.GetFullPath(afile));
                }
            }
        }
Пример #6
0
        bool IsAssemblyReferencesCollectionContains(AssemblyNameReferenceCollection col, AssemblyNameReference refer)
        {
            //skip merging
            foreach (AssemblyDefinition adef in context.MergedAssemblies)
            {
                if (adef.Name.Name == refer.Name)
                {
                    return(true);
                }
            }

            foreach (AssemblyNameReference aref in col)
            {
                if (aref.Name == refer.Name)
                {
                    return(true);
                }
            }
            return(false);
        }
Пример #7
0
 public override void VisitAssemblyNameReferenceCollection(AssemblyNameReferenceCollection names)
 {
     VisitCollection(names);
     DeleteAssemblyReference(target.MainModule.AssemblyReferences, source.Name.Name);
 }