【发布时间】:2023-03-27 17:25:01
【问题描述】:
我正在尝试使用 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'.
我添加了custom app setting、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.
此错误消息有点含糊,但until recently 消息会断言在解决方案中找不到包含packages.config 或project.json 文件的项目。 从 VS 2017 RC 开始,这两个文件都已弃用。 我添加了一个空的 project.json 文件,看看这是否能解决问题。软件包似乎已恢复,但由于缺少 project.json 部分而继续失败。
分辨率
@david-ebbo 友情提供guidance。在他的test repo 中,您会找到deploy.cmd 和.deployment 文件。将两者复制到您的仓库的根目录。然后更新 deploy.cmd 的第 74 行以指向您的 .csproj 文件。从 GitHub 部署现在应该成功了。
【问题讨论】:
标签: visual-studio azure msbuild azure-web-app-service visual-studio-2017