Example #1
0
 MSBuildProject LoadProject(FilePath fileName)
 {
     fileName = fileName.CanonicalPath;
     lock (loadedProjects) {
         LoadedProjectInfo pi;
         if (loadedProjects.TryGetValue(fileName, out pi))
         {
             pi.ReferenceCount++;
             var lastWriteTime = File.GetLastWriteTime(fileName);
             if (pi.LastWriteTime != lastWriteTime)
             {
                 pi.LastWriteTime = lastWriteTime;
                 pi.Project.Load(fileName, new MSBuildXmlReader {
                     ForEvaluation = true
                 });
             }
             return(pi.Project);
         }
         MSBuildProject p = new MSBuildProject(EngineManager);
         p.Load(fileName, new MSBuildXmlReader {
             ForEvaluation = true
         });
         loadedProjects [fileName] = new LoadedProjectInfo {
             Project = p, LastWriteTime = File.GetLastWriteTime(fileName)
         };
         //Console.WriteLine ("Loaded: " + fileName);
         return(p);
     }
 }
Example #2
0
 protected override ProjectFile CreateProjectFile(LoadedProjectInfo info)
 {
     return(new VisualBasicProjectFile(this, info.Project, info.ErrorMessage));
 }
Example #3
0
 protected abstract ProjectFile CreateProjectFile(LoadedProjectInfo info);
		MSBuildProject LoadProject (FilePath fileName)
		{
			fileName = fileName.CanonicalPath;
			lock (loadedProjects) {
				LoadedProjectInfo pi;
				if (loadedProjects.TryGetValue (fileName, out pi)) {
					pi.ReferenceCount++;
					return pi.Project;
				}
				MSBuildProject p = new MSBuildProject (EngineManager);
				p.Load (fileName, new MSBuildXmlReader { ForEvaluation = true });
				loadedProjects [fileName] = new LoadedProjectInfo { Project = p };
				//Console.WriteLine ("Loaded: " + fileName);
				return p;
			}
		}
 protected override ProjectFile CreateProjectFile(LoadedProjectInfo info)
 {
     return new CSharpProjectFile(this, info.Project, info.ErrorMessage);
 }
Example #6
0
 protected abstract ProjectFile CreateProjectFile(LoadedProjectInfo info);