2011-03-30 49 views
8

Web應用程序我已經能夠把使用Microsoft.Web.Deployment代碼我的IIS服務器上的文件:部署使用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); 

好像這一切都爲創建一個新的文件夾在現有的Web應用程序下。如果我進入IIS管理器,右鍵單擊我創建的文件夾,然後單擊「轉換爲應用程序」,然後獲得我正在查找的行爲。有誰知道如何使用Microsoft.Web.Deployment包來做到這一點?

回答

1

實際上,由於您的代碼,我設法將我的網站部署到雲。所以它應該工作: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

您可以將下列行添加到您的代碼

deploymentObject.SyncParameters.Load(parameters); 

其中parameters是您<project> .SetParameters.xml文件的完整路徑。 在此文件中,指定虛擬應用程序名稱:

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