コード例 #1
0
        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);
        }