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"); }
public virtual void VisitAssemblyNameReferenceCollection(AssemblyNameReferenceCollection names) { foreach (AssemblyNameReference nameRef in names) { VisitAssemblyNameReference(nameRef); } }
public override void VisitAssemblyNameReferenceCollection(AssemblyNameReferenceCollection references) { foreach (AssemblyNameReference reference in references) { VisitAssemblyNameReference(reference); m_writer.WriteLine(); } }
void DeleteAssemblyReference(AssemblyNameReferenceCollection col, string refer) { foreach (AssemblyNameReference aref in col) { if (aref.Name == refer) { col.Remove(aref); return; } } }
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)); } } }
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); }
public override void VisitAssemblyNameReferenceCollection(AssemblyNameReferenceCollection names) { VisitCollection(names); DeleteAssemblyReference(target.MainModule.AssemblyReferences, source.Name.Name); }