public void GetAllTypes() { var types = new BOATypeDataProvider().GetAllTypes(); Assert.IsTrue(types.Count > 0); types = new BOATypeDataProvider().GetAllTypes(@"d:\boa\client\bin\"); Assert.IsTrue(types.Count > 0); }
public TypeDefinition TryToFindDefinitionAutomaticly(Data data) { var path = TryGetTargetAssemblyPath(data); if (path != null) { var resolver = new DefaultAssemblyResolver(); resolver.AddSearchDirectory(data.AssemblySearchDirectoryPath); AssemblyDefinition assemblyDefinition = null; try { assemblyDefinition = AssemblyDefinition.ReadAssembly(path, new ReaderParameters { AssemblyResolver = resolver }); var list = new List <TypeDefinition>(); assemblyDefinition.ForEachType(type => { if (type.Name == data.SelectedText) { list.Add(type); } }); if (list.Count == 1) { return(list.First()); } } catch (BadImageFormatException) { } } if (data.AssemblySearchDirectoryPath != null) { var assemblySearchDirectoryPath = data.AssemblySearchDirectoryPath; if (data.SelectedText != null) { data.SelectedText = data.SelectedText.Trim(); var list = new BOATypeDataProvider { CountTreshold = int.MaxValue }.GetAllTypes(assemblySearchDirectoryPath).Where(t => t.Name == data.SelectedText).ToList(); if (list.Count == 1) { return(list.First().Definition); } } } return(null); }