protected override void Dispose(bool disposing)
{
if (isDisposed)
{
return;
}
try
{
try
{
UnRegisterProject();
}
finally
{
try
{
RegisterClipboardNotifications(false);
}
finally
{
try
{
if (projectEventsProvider != null)
{
projectEventsProvider.AfterProjectFileOpened -= OnAfterProjectOpen;
}
if (TaskProvider != null)
{
TaskProvider.Tasks.Clear();
TaskProvider.Dispose();
TaskProvider = null;
}
if (buildLogger != null)
{
buildLogger.Shutdown();
buildLogger = null;
}
if (site != null)
{
site.Dispose();
}
}
finally
{
buildEngine = null;
}
}
}
if (buildProject != null)
{
buildProject.ProjectCollection.UnloadProject(buildProject);
buildProject.ProjectCollection.UnloadProject(buildProject.Xml);
buildProject = null;
}
if (null != imageHandler)
{
imageHandler.Close();
imageHandler = null;
}
}
finally
{
base.Dispose(disposing);
isDisposed = true;
}
}