public override DeploymentTask CreateDeploymentTask(IObjectFactory objectFactory)
        {
            Guard.NotNull(objectFactory, "objectFactory");

              return
            new DeployWebAppDeploymentTask(
              objectFactory.CreateProjectInfoRepository(),
              objectFactory.CreateEnvironmentInfoRepository(),
              objectFactory.CreateIMsDeploy(),
              objectFactory.CreateArtifactsRepository(),
              objectFactory.CreateIIisManager(),
              objectFactory.CreateFileAdapter(),
              objectFactory.CreateZipFileAdapter());
        }
        public override DeploymentTask CreateDeploymentTask(IObjectFactory objectFactory)
        {
            Guard.NotNull(objectFactory, "objectFactory");

            return
                (new DeployWebAppDeploymentTask(
                     objectFactory.CreateProjectInfoRepository(),
                     objectFactory.CreateEnvironmentInfoRepository(),
                     objectFactory.CreateIMsDeploy(),
                     objectFactory.CreateArtifactsRepository(),
                     objectFactory.CreateIIisManager(),
                     objectFactory.CreateFileAdapter(),
                     objectFactory.CreateZipFileAdapter(),
                     objectFactory.CreateApplicationConfiguration(),
                     objectFactory.CreateDirectoryAdapter()));
        }
        public override DeploymentTask CreateDeploymentTask(IObjectFactory objectFactory, string projectConfigurationName, string projectConfigurationBuildId, string targetEnvironmentName)
        {
            if (objectFactory == null)
              {
            throw new ArgumentNullException("objectFactory");
              }

              return
            new DeployWebAppDeploymentTask(
              objectFactory.CreateIMsDeploy(),
              objectFactory.CreateEnvironmentInfoRepository(),
              objectFactory.CreateArtifactsRepository(),
              objectFactory.CreateIIisManager(),
              this,
              projectConfigurationName,
              projectConfigurationBuildId,
              targetEnvironmentName);
        }