0
아래 코드를 사용하여 WebDeploy를 통해 Azure 웹 사이트에 배포합니다. 동일한 서버 및 자격 증명 정보를 사용하여 Visual Studio 2013과 함께 WebDeploy와 동일한 사이트에 배포 할 수 있지만 아래 코드를 실행하면 실패 할 수 있으며 권한이 부여되지 않는다고 말하면 401이됩니다. 모든 아이디어 방식 ? 하지 물론 심지어 분의Azure에 실패한 WebDeploy
var sourceBaseOptions = new DeploymentBaseOptions();
DeploymentBaseOptions destBaseOptions = new DeploymentBaseOptions()
{
UserName = prf.UserName,
Password = prf.UserPassword,
ComputerName = string.Format("https://{0}/MsDeploy.axd?Site={1}",
prf.PublishUrl,
prf.MSDeploySite)
};
//-disableLink:AppPoolExtension
//-disableLink:ContentExtension
//-disableLink:CertificateExtension
foreach (var extension in sourceBaseOptions.LinkExtensions
.Where(ext => ext.Name == "AppPoolExtension"
|| ext.Name == "ContentExtension"
|| ext.Name == "CertificateExtension"))
{
extension.Enabled = false;
}
sourceBaseOptions.Trace += sourceBaseOptions_Trace;
sourceBaseOptions.TraceLevel = System.Diagnostics.TraceLevel.Verbose;
foreach (var extension in destBaseOptions.LinkExtensions
.Where(ext => ext.Name == "AppPoolExtension"
|| ext.Name == "ContentExtension"
|| ext.Name == "CertificateExtension"))
{
extension.Enabled = false;
}
using (var deploymentObject = DeploymentManager.CreateObject(
DeploymentWellKnownProvider.Package,
@"E:\DeployPackages\Site.zip",
sourceBaseOptions))
{
//configure deploy target Web site name instead of using -SetParams
deploymentObject.SyncParameters
.Single(p => p.Name == "IIS Web Application Name")
.Value = prf.MSDeploySite;
DeploymentSyncOptions syncOptions = new DeploymentSyncOptions();
syncOptions.WhatIf = false;
// Will fail on this call
var changes = deploymentObject.SyncTo(DeploymentWellKnownProvider.Auto,
"",
destBaseOptions,
syncOptions);
}