internal static void ReleaseProjectBuilder (RemoteBuildEngine engine) { lock (builders) { if (engine.ReferenceCount > 0) { if (--engine.ReferenceCount == 0) { engine.ReleaseTime = DateTime.Now.AddSeconds (3); ScheduleProjectBuilderCleanup (engine.ReleaseTime.AddMilliseconds (500)); } } } }
public void Dispose() { if (engine != null) { if (builder != null) { engine.UnloadProject(builder); } MSBuildProjectService.ReleaseProjectBuilder(engine); GC.SuppressFinalize(this); engine = null; builder = null; } }