无法从.net核心应用程序

时间:2016-12-28 11:13:02

标签: powershell azure asp.net-core msdeploy

我很难通过命令行发布到azure网站。首先,我尝试使用VS生成的powershell脚本来生成内部。\ Properties \ PublishProfiles。我在帖子Publishing ASP.Net Core app to Azure silently fails in command line中提到了答案。我只能传递一个参数(即密码)作为发布属性。我尝试执行如下

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”-source:manifest ='C:\ Users \ 579859 \ AppData \ Local \ Temp \ PublishTemp \ obj \ Output \ SourceManifest.xml' -des T:清单= 'C:\用户\ 579859 \应用程序数据\本地\ TEMP \ PublishTemp \ OBJ \输出\ DestinationManifest.xml',计算机名='https://dotnetcorewebapisample.scm.azurewebsites.net/msdeploy.axd?site = DotnetCoreWebApiSample',UserName ='$ DotnetCoreWebApiSample',Password ='{PASSWORD-REMOVED-FROM-LOG}',IncludeAcls ='False',AuthType ='Basic'-verb:sync -enablerule:AppOffline -enableRu le:DoNotDeleteRule -retryAttempts: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

现在我收到错误“错误:必须使用'sync'动词指定''-dest'参数。”我在这里完全无能为力。请注意,我已经提供了-verb:sync并且msdeploy仍然抱怨相同。有人可以帮助我如何使用命令行将.net核心Web应用程序发布到Azure应用程序。对于msdeploy,我引用了帖子http://asp.net-hacker.rocks/2016/07/04/deploy-aspnetcore-to-azure.html。我使用版本为“1.0.0-preview2-003131”的sdk。

1 个答案:

答案 0 :(得分:0)

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

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