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);
    }