C# 使用Microsoft.Web.Deployment部署Web应用程序
我已经能够使用Microsoft.Web在IIS服务器上放置文件。部署代码:C# 使用Microsoft.Web.Deployment部署Web应用程序,c#,deployment-project,C#,Deployment Project,我已经能够使用Microsoft.Web在IIS服务器上放置文件。部署代码: DeploymentSyncOptions syncOptions = new DeploymentSyncOptions(); DeploymentBaseOptions sourceBaseOptions = new DeploymentBaseOptions(); sourceBaseOptions.ComputerName = "localhost"; DeploymentBaseOptions destin
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
是
.SetParameters.xml文件的完整路径。
在此文件中,指定虚拟应用程序名称:
<setParameter name="IIS Web Application Name" value="<WebSite>/<VirtualApp>" />'
'