我正在尝试使用 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.config
orproject.json
文件的项目。从 VS 2017 RC 开始,这两个文件都已弃用。我添加了一个空的 project.json 文件,看看是否可以解决问题。这些包似乎已恢复,但由于缺少 project.json 部分,它继续失败。
解析度
@david-ebbo 提供指导。在他的测试存储库中,您会找到deploy.cmd
和.deployment
文件。将两者复制到您的仓库的根目录。然后更新第 74 行deploy.cmd
以指向您的.csproj文件。从 GitHub 部署现在应该成功了。