样板 Visual Studio 2017 RC 项目无法从 GitHub 部署到 Azure 应用服务

Boilerplate Visual Studio 2017 RC project fails to deploy to Azure App Service from GitHub

我正在尝试使用 GitHub 部署选项将样板 Visual Studio 2017 RC Asp.Net 核心 Web 应用程序(无身份验证)部署到 Azure 应用服务。该应用程序尚未根据样板代码进行修改;从字面上看:从 VS 模板创建一个新应用程序,将其发布到 GitHub,然后部署到 App Service。

问题

VS 2017 RC 应用程序部署到应用服务是否需要任何特定设置,或者应用服务 SCM (Kudu) 工具是否还没有跟上 VS 2017 RC 项目结构?

详情

我 运行 遇到两个我认为可能相关的问题。

问题 1:MSbuild 工具 v15.0 似乎没有安装在应用服务上。构建时,Kudo 默认为 v14.0:

Command: "D:\home\site\deployments\tools\deploy.cmd"  
Handling .NET Console Application deployment.  
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild.0\bin'.  

我加了一个custom app settingSCM_BUILD_ARGS=-tv:15.0,试图强制Kudo使用v15.0,但是没有效果。它继续像以前一样使用 v14.0。

问题 2:(可能是使用 MSBuild 14.0 的结果):MSBuild 在尝试恢复 NuGet 时发出以下错误包裹:

Nothing to do. None of the projects in this solution specify any packages for NuGet to restore.

此错误消息有点含糊,但 until recently 该消息会断言在解决方案中找不到包含 packages.configproject.json 文件的项目。 从 VS 2017 RC 开始,这两个文件都已弃用。 我添加了一个空的 project.json 文件,看看是否可以解决问题。软件包似乎已恢复,但由于缺少 project.json 部分而继续失败。

分辨率

@david-ebbo 友情提供 . In his test repo 你会找到 deploy.cmd.deployment 文件。将两者都复制到您的回购协议的根目录。然后更新 deploy.cmd 的第 74 行以指向您的 .csproj 文件。从 GitHub 部署现在应该会成功。

类似于https://github.com/projectkudu/kudu/issues/2236

Kudu 脚本生成器尚不知道如何处理 Preview3,但您应该能够使用自定义部署脚本。关键是使用 'dotnet restore' 而不是 'nuget restore' 和 'dotnet publish' 而不是 'msbuild'。请参阅示例 here

我们将尽快修复 Kudu 以处理此问题。