2011-03-30 19 views
8

he sido capaz de colocar los archivos en mi servidor IIS utilizando el código Microsoft.Web.Deployment:implementar una aplicación Web utilizando Microsoft.Web.Deployment

DeploymentSyncOptions syncOptions = new DeploymentSyncOptions(); 
DeploymentBaseOptions sourceBaseOptions = new DeploymentBaseOptions(); 
sourceBaseOptions.ComputerName = "localhost"; 

DeploymentBaseOptions destinationBaseOptions = new DeploymentBaseOptions(); 
destinationBaseOptions.ComputerName = ComputerName; // remote host 
destinationBaseOptions.UserName = Username; 
destinationBaseOptions.Password = Password; 

DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.IisApp, deployDirectory, sourceBaseOptions); 

deploymentObject.SyncTo(DeploymentWellKnownProvider.IisApp, RemoteFolderName, destinationBaseOptions, syncOptions); 

Parece que todo esto hace es crear un nuevo carpeta debajo de una aplicación web existente. Si entro en el Administrador de IIS, haga clic con el botón derecho en la carpeta que creé, y haga clic en "Convertir a aplicación", luego obtendré el comportamiento que estaba buscando. ¿Alguien sabe cómo hacer esto simplemente usando el paquete Microsoft.Web.Deployment?

Respuesta

1

En realidad, gracias a su código logré implementar mis sitios web en la nube. Así que debería funcionar: P

public static void DeployWebsite(string user, string pw, string folder, string domain, string sitename) 
     { 
      DeploymentSyncOptions syncOptions = new DeploymentSyncOptions(); 
      DeploymentBaseOptions sourceBaseOptions = new DeploymentBaseOptions(); 
      DeploymentBaseOptions destinationBaseOptions = new DeploymentBaseOptions(); 

      destinationBaseOptions.ComputerName = domain; 
      destinationBaseOptions.UserName = user; 
      destinationBaseOptions.Password = pw; 

      DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.IisApp, folder, sourceBaseOptions); 
      deploymentObject.SyncTo(DeploymentWellKnownProvider.IisApp, sitename, destinationBaseOptions, syncOptions); 
     } 
1

Se pueden añadir las siguientes líneas a su código

deploymentObject.SyncParameters.Load(parameters); 

donde parameters es la ruta completa al archivo de <project> .SetParameters.xml. En este archivo, especifique el nombre de la aplicación virtual:

<setParameter name="IIS Web Application Name" value="<WebSite>/<VirtualApp>" />' 
Cuestiones relacionadas