private static ICodeBase DoAnalysisGetCodeBase( Version version, ICollection <IAbsoluteFilePath> assembliesPaths, TemporaryProjectMode temporaryProjectMode, IProjectManager projectManager) { Debug.Assert(version != null); Debug.Assert(assembliesPaths != null); Debug.Assert(projectManager != null); Console.WriteLine("Analyze .NET fx v" + version.ToString() + " core assemblies"); var project = projectManager.CreateTemporaryProject(assembliesPaths, temporaryProjectMode); var analysisResult = ProjectAnalysisUtils.RunAnalysisShowProgressOnConsole(project); return(analysisResult.CodeBase); }
internal static ICodeBase GetCodeBaseFromAsmInDir(IAbsoluteDirectoryPath dir, TemporaryProjectMode temporaryProjectMode) { Debug.Assert(dir.Exists); var dotNetManager = s_NDependServicesProvider.DotNetManager; var assembliesPath = dir.ChildrenFilesPath.Where(dotNetManager.IsAssembly).ToArray(); Debug.Assert(assembliesPath.Length > 0); // Make sure we found assemblies var projectManager = s_NDependServicesProvider.ProjectManager; IProject project = projectManager.CreateTemporaryProject(assembliesPath, temporaryProjectMode); // In PowerTool context, better call: // var analysisResult = ProjectAnalysisUtils.RunAnalysisShowProgressOnConsole(project); var analysisResult = project.RunAnalysis(); return(analysisResult.CodeBase); }