private void SolutionEvents_Opened() { _currentSolution = _dte.Solution; _config = CPlusPlusTestConfig.Open(_currentSolution); foreach (Project p in _currentSolution.Projects) { GetTestsForProject(p); } }
public static CPlusPlusTestConfig Open(Solution vsSolution) { Contract.Requires(vsSolution != null); Contract.Ensures(Contract.Result <CPlusPlusTestConfig>() != null); FileInfo solutionInfo = new FileInfo(vsSolution.FullName); string fullConfigPath = solutionInfo.Directory + "\\" + solutionInfo.Name + ".CPlusPlusTest.user"; if (File.Exists(fullConfigPath)) { XmlSerializer serializer = new XmlSerializer(typeof(CPlusPlusTestConfig)); using (FileStream file = File.OpenRead(fullConfigPath)) { CPlusPlusTestConfig config = (CPlusPlusTestConfig)serializer.Deserialize(file); if (config == null) { throw new IOException("Could not deserialize:" + file); } config.FilePath = fullConfigPath; return(config); } } return(new CPlusPlusTestConfig(fullConfigPath)); }