public DotNetProjectInstance(IDotNetSolution solution, SlnProject slnProject) { _slnProject = slnProject; Solution = solution; ProjectType = ProjectTypeSniffer.Sniff(slnProject.TypeGuid); _msbuildProject = new Lazy <MsbuildProject>(LoadMsbuildProject); }
private static IDotNetProjectInstance FindProject(IDotNetSolution solution, string targetProject) { bool CheckByPath(IDotNetProjectInstance proj) => Path.GetFileName(proj.ProjectFileAbsolutePath) == targetProject; bool CheckByName(IDotNetProjectInstance proj) => proj.ProjectName == targetProject; Func <IDotNetProjectInstance, bool> func = CheckByName; if (targetProject.EndsWith(".csproj")) { func = CheckByPath; } return(solution.AllProjects.SingleOrDefault(func)); }