WebDeploy到Azure失败

WebDeploy到Azure失败,azure,webdeploy,azure-web-app-service,microsoft-web-deploy,Azure,Webdeploy,Azure Web App Service,Microsoft Web Deploy,我正在使用以下代码通过WebDeploy部署到Azure网站。我可以使用相同的服务器和凭据信息将WebDeploy与Visual Studio 2013部署到同一站点,但当我运行下面的代码时,它总是失败,并告诉我它无法授权,它将获得401。有什么办法吗 var sourceBaseOptions = new DeploymentBaseOptions(); DeploymentBaseOptions destBaseOptions = new DeploymentBaseOptions() {

我正在使用以下代码通过WebDeploy部署到Azure网站。我可以使用相同的服务器和凭据信息将WebDeploy与Visual Studio 2013部署到同一站点,但当我运行下面的代码时,它总是失败,并告诉我它无法授权,它将获得401。有什么办法吗

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);

}

当然,在我发布这篇文章后不到一分钟,我就有了一个妙不可言的时刻。。。修复程序只是将AuthenticationType=“Basic”设置为destBaseOptions对象

现在感觉像个骨头脑袋