VSTS msdeploy.exe错误:ERROR_USER_NOT_AUTHORIZED_FOR_CONTENTPATH

时间:2018-01-23 07:06:28

标签: asp.net azure-devops msdeploy azure-pipelines-release-pipeline

我试图在VSTS中创建一个发布定义,以便在我的生产服务器上部署我的ASP.NET Core 2.0应用程序。

我正在使用 MSDeployAllTheThings 扩展程序:https://marketplace.visualstudio.com/items?itemName=rschiefer.MSDeployAllTheThings

我能够使用相同的配置在Visual Studio内部署...

VSTS配置(不工作)

enter image description here

VSTS错误

enter image description here

Visual Studio配置(工作)

enter image description here

你们有什么想法怎么做?

2 个答案:

答案 0 :(得分:0)

不熟悉smarterasp.net。但这应该是该网站的一个问题。

如果您手动从本地计算机运行相同的msdeploy命令,则会收到相同的错误消息。使用相同的命令部署到其他主机而不是smarterasp.net时,我们没有看到此错误。如果在命令中添加“-verbose”,您将获得更详细的信息,表明命令无法添加虚拟路径: enter image description here

从VS部署项目时,它直接使用清单文件和源文件夹,而不是“package”方法。因此,您可以联系smarterasp.net寻求帮助,也可以使用与Visual Studio相同的部署方法或其他部署方法,如FTP。

答案 1 :(得分:0)

我在部署到smarterasp.net时遇到了同样的问题,并且能够为Web Deploy设置内容:

  1. 您的Dotnet构建任务可以使用诸如[YourProject] .deploy.cmd,[YourProject] .zip等必要文件来创建部署包。为此,您可以在构建任务中使用下一个参数:
--configuration $(BuildConfiguration) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\"
  1. 添加“批处理脚本”任务,并在“路径”字段以及您的“论据”中为[YourProject] .deploy.cmd设置路径:
/y /m:$(SmarterAspNet.PublishUrl) -AllowUntrusted /u:$(SmarterAspNet.UserName) /p:$(SmarterAspNet.Password) /a:Basic "-setParam:name='IIS Web Application Name',value='$(SmarterAspNet.SiteName)'" -enableRule:AppOffline

通过这两个主要的DevOps任务,我能够将我的应用程序部署到smarterasp.net

关于MSDeployAllTheThings任务:我删除了它,因为我不再需要它