【问题标题】:Boilerplate Visual Studio 2017 RC project fails to deploy to Azure App Service from GitHubBoilerplate Visual Studio 2017 RC 项目无法从 GitHub 部署到 Azure 应用服务
【发布时间】: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 settingSCM_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.configproject.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


    【解决方案1】:

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

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

    我们会尽快修复 Kudu 来处理这个问题。

    【讨论】:

    • 谢谢大卫!示例脚本看起来很有帮助。
    • 这是另一个使用 VS 2017 RC 创建的,也使用了库:github.com/davidebbo-test/MvcCoreVS2017RC
    • ^^^ 效果很好。谢谢!我将更新我的问题以突出显示解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-11-27
    • 2018-06-23
    • 2017-04-03
    • 2017-09-06
    • 1970-01-01
    • 2017-04-03
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多