TestRepo SetProject(Project project) { var projectPath = project.FullName; if (projectPath != _projectPath) { _projectPath = projectPath; var dir = Path.GetDirectoryName(projectPath); ProjectItem repoItem = null; foreach (ProjectItem i in project.ProjectItems) { if (Path.GetExtension(i.Name) == TestRepo.FileExtension) { repoItem = i; } } if (repoItem == null) { var filename = project.Name + TestRepo.FileExtension; _repoPath = Path.Combine(dir, filename); _projectRepo = new TestRepo(); _projectRepo.Save(_repoPath); project.ProjectItems.AddFromFile(_repoPath); } else { _repoPath = Path.Combine(dir, repoItem.Name); _projectRepo = TestRepo.Open(_repoPath); } } return(_projectRepo); }