使用Microsoft.Web.Deployment部署Web应用程序

agr*_*ppa 9 c# deployment-project

我已经能够使用Microsoft.Web.Deployment代码将文件放在我的IIS服务器上:

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);
Run Code Online (Sandbox Code Playgroud)

似乎所有这一切都是在现有Web应用程序下创建一个新文件夹.如果我进入IIS管理器,右键单击我创建的文件夹,然后单击"转换为应用程序",然后我得到我正在寻找的行为.有没有人知道如何使用Microsoft.Web.Deployment包来做到这一点?

WtF*_*dgE 3

实际上,多亏了您的代码,我才成功将我的网站部署到云上。所以它应该有效: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);
        }
Run Code Online (Sandbox Code Playgroud)