private void RegisterCleanTasks(IProjectConfiguration projConfig)
        {
            this.Context.BuildCleanTask(projConfig.ProjectAlias);

            this.Context.BuildCleanTask("DotNetCoreClean", false, projConfig.ProjectAlias)
            .Does(() =>
            {
                var clnSettings = new DotNetCoreCleanSettings
                {
                    Configuration = projConfig.Configuration,
                    Framework     = projConfig.Framework
                };

                this.Context.DotNetCoreClean(projConfig.GetRelativeSlnFilePath().FullPath, clnSettings);
            });

            this.Context.BuildCleanTask("BinAndObj", false, projConfig.ProjectAlias)
            .Does(() =>
            {
                var paths = projConfig.GetAllProjectOutputDirectoryPaths();
                foreach (var path in paths)
                {
                    this.Context.Debug($"Cleaning Directory: {path}");
                    this.Context.CleanDirectories(path);
                }
            });

            this.Context.BuildCleanTask("BuildTemp", false, projConfig.ProjectAlias)
            .Does(() =>
            {
                var buildTempDir = projConfig.BuildTempDirectory;
                if (buildTempDir != null && this.Context.DirectoryExists(buildTempDir))
                {
                    this.Context.Debug($"Deleting BuildTemp directory: {buildTempDir.FullPath}");
                    this.Context.DeleteDirectory(buildTempDir, true);
                }
            });
        }