Powershell 无法从.net核心应用程序发布到Azure web app

Powershell 无法从.net核心应用程序发布到Azure web app,powershell,azure,asp.net-core,msdeploy,Powershell,Azure,Asp.net Core,Msdeploy,我很难通过命令行发布到azure网站。首先,我尝试使用VS生成的powershell脚本,这些脚本在内部生成。\Properties\PublishProfiles。我在帖子中提到了答案。我只能传递一个参数(密码)作为发布属性。我试着像下面这样执行 PS D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\DotNetCoreWebApiSample\Properties\PublishProfiles

我很难通过命令行发布到azure网站。首先,我尝试使用VS生成的powershell脚本,这些脚本在内部生成。\Properties\PublishProfiles。我在帖子中提到了答案。我只能传递一个参数(密码)作为发布属性。我试着像下面这样执行

PS D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\DotNetCoreWebApiSample\Properties\PublishProfiles> & '.\DotnetCoreWebApiSample - Web Deploy-publish' -pa
ckOutput 'D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\Output' -pubProfilePath 'DotnetCoreWebApiSample - Web Deploy.pubxml'-publishProperties @{'Passwor
d' = 'klk'} -verbose
上述尝试至少尝试调用msdeploy,但未成功。我的产量不足

使用发布方法发布[MSDeploy] 正在执行命令[“C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe”-来源:manifest='C:\Users\579859\AppData\Local\Temp\PublishTemp\obj\Output\SourceManifest.xml'-des t:manifest='C:\Users\579859\AppData\Local\Temp\PublishTemp\obj\Output\DestinationManifest.xml',ComputerName='C' =DotnetCoreWebApiSample',用户名='$DotnetCoreWebApiSample',密码='{Password-REMOVED-FROM-LOG}',IncludeAcls='False',AuthType='Basic'-动词:sync-enablerule:AppOffline-enableRu le:DoNotDeleteRule-重试尝试次数:20] 信息:使用ID“25f52554-53e4-4a74-8392-df82e2a07806”连接到远程服务器

我不确定这里出了什么问题。我还尝试传递多个参数,如下所示,但powershell报告了一些语法错误

 PS D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\DotNetCoreWebApiSample\Properties\PublishProfiles> & '.\DotnetCoreWebApiSample - Web Deploy-publish' -pa
    ckOutput 'D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\Output' -pubProfilePath 'DotnetCoreWebApiSample - Web Deploy.pubxml'-publishProperties @{'usernam
    e' = 'myusername' 'Password' = 'uL''AllowUntrustedCertificate' = false''AuthType' = 'Basic'} -verbose
最后,我尝试直接使用Msdeploy,如下所示

@echo off
dotnet publish ".\DotNetCoreWebApiSample" --framework netcoreapp1.0 --output "D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\Output" --configuration Release
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:contentPath='D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\Output',-dest:contentPath='DotnetCoreWebApiSample',ComputerName='https://dotnetcorewebapisample.scm.azurewebsites.net/msdeploy.axd',UserName="myUser",Password="L",IncludeAcls="False",AuthType="Basic" -enablerule:AppOffline -enableRule:DoNotDeleteRule -retryAttempts:20 -verbose

现在我得到一个错误“error:A'-dest'参数必须用'sync'动词指定。”我在这里完全不懂。请注意,我已经提供了-verb:sync,msdeploy仍然在抱怨同样的问题。有人可以帮助我如何使用命令行将.net核心web应用发布到azure web应用。对于msdeploy,我引用了这篇文章。我正在使用版本为“1.0.0-preview2-003131”的sdk。

您的MSDeploy调用中的
-source
属性末尾有一个逗号,但没有其他标志。将
-dest
前面的逗号替换为空格:

-source:contentPath='D:\Sajan\SampleApplications\ADNext\DotNETCore\DotNetCoreWebApiSample\src\Output' -dest:contentPath='D

可能是Travis的副本,我使用的是1.0.1,而不是RC1。我还尝试使用dotnet发布。我在这里有点不明白为什么msdeploy会出现如此奇怪的错误。最后,我发现了msdeploy的问题。这是因为在-source:contentPath之后出现了逗号。花了很多时间才弄明白。