部署使用Microsoft.Web.Deployment

部署使用Microsoft.Web.Deployment

问题描述:

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包来做到这一点?

实际上,由于您的代码,我设法将我的网站部署到云。所以它应该工作: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); 
     } 

您可以将下列行添加到您的代码

deploymentObject.SyncParameters.Load(parameters); 

其中parameters是您<project> .SetParameters.xml文件的完整路径。 在此文件中,指定虚拟应用程序名称:

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