Развертывание веб-приложения с использованием 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);
Кажется, что все, что это делает, это создает новую папку под существующим веб-приложением. Если я зайду в IIS Manager, щелкните правой кнопкой мыши созданную папку и выберите "Преобразовать в приложение", после чего я получу искомое поведение. Кто-нибудь знает, как это сделать, просто используя пакет Microsoft.Web.Deployment?
2 ответа
На самом деле благодаря вашему коду мне удалось развернуть мои сайты в облаке. Так и должно работать: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>" />'