1

我正在尝试使用 GitHub 部署选项将样板 Visual Studio 2017 RC Asp.Net Core Web 应用(无身份验证)部署到 Azure 应用服务。该应用程序没有从样板代码修改;字面意思是:从 VS 模板创建一个新应用,将其发布到 GitHub,然后部署到应用服务。

问题

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\14.0\bin'.  

我添加了一个自定义应用程序设置,SCM_BUILD_ARGS=-tv:15.0来尝试强制 Kudo 使用 v15.0,但这没有效果。它像以前一样继续使用 v14.0。

问题 2:(并且可能是使用 MSBuild 14.0 的结果):尝试还原 NuGet 包时,MSBuild 发出以下错误:

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

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

解析度

@david-ebbo 提供指导。在他的测试存储库中,您会找到deploy.cmd.deployment文件。将两者复制到您的仓库的根目录。然后更新第 74 行deploy.cmd以指向您的.csproj文件。从 GitHub 部署现在应该成功了。

4

1 回答 1

2

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

Kudu 脚本生成器还不知道如何处理 Preview3,但您应该能够使用自定义部署脚本。关键是使用“dotnet restore”而不是“nuget restore”和“dotnet publish”而不是“msbuild”。在此处查看示例。

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

于 2016-11-19T23:10:13.357 回答