public static DeploymentTaskRoot Create(PackageCreationComponentGraph action, DeploymentType deploymentType)
        {
            if (action.SourceContentPath.EndsWith(@".csproj")
                || action.SourceContentPath.EndsWith(@".vbproj")
                || action.SourceContentPath.EndsWith(@".wdproj"))
            {
                if (deploymentType == DeploymentType.local)
                {
                    return new LocalProjectPackgeCreationTask(action);
                }

                if (deploymentType == DeploymentType.msDeploy)
                {
                    return new MsDeployProjectPackgeCreationTask(action);
                }

                throw new ArgumentOutOfRangeException("unknown deployment type for project package creation");
            }

            if (deploymentType == DeploymentType.local)
            {
                return new LocalFolderPackgeCreationTask(action);
            }

            if (deploymentType == DeploymentType.msDeploy)
            {
                return new MsDeployFolderPackgeCreationTask(action);
            }

            throw new ArgumentOutOfRangeException("unknown deployment type for folder package creation");
        }
 public MsDeployFolderPackgeCreationTask(PackageCreationComponentGraph actionComponentGraph) : base(actionComponentGraph)
 {
 }
 public MsDeployProjectPackgeCreationTask(PackageCreationComponentGraph actionComponentGraph)
     : base(actionComponentGraph)
 {
 }
 public LocalFolderPackgeCreationTask(PackageCreationComponentGraph actionComponentGraph) : base(actionComponentGraph)
 {
 }
 public LocalProjectPackgeCreationTask(PackageCreationComponentGraph actionComponentGraph)
     : base(actionComponentGraph)
 {
 }