public static Solution Load(string fileName) { Solution newSolution = new Solution(new ProjectChangeWatcher(fileName)); solutionBeingLoaded = newSolution; newSolution.Name = Path.GetFileNameWithoutExtension(fileName); string extension = Path.GetExtension(fileName).ToUpperInvariant(); newSolution.fileName = fileName; newSolution.UpdateMSBuildProperties(); newSolution.isLoading = true; try { if (!SetupSolution(newSolution)) { return null; } } finally { newSolution.isLoading = false; } solutionBeingLoaded = null; return newSolution; }