在 Azure 应用服务中将 msbuild 设置为版本 15

问题描述 投票:0回答:2

我尝试在 Azure 应用服务中部署 dotNet 应用程序,但它不起作用,因为 msbuild 的默认版本为 14:

D:\home\site\wwwroot>msbuild /version
Microsoft (R) Build Engine version 14.0.23107.0
Copyright (C) Microsoft Corporation. All rights reserved.

14.0.23107.0

我尝试使用 msbuild 15 路径修改deploy.cmd,但它不起作用。我如何简单地将默认的 msbuild 版本更新为 15 ? 谢谢

asp.net azure azure-web-app-service
2个回答
2
投票

这已经在这里讨论过:https://github.com/projectkudu/kudu/issues/2350

D:\home>设置 msbuild

MSBUILD_15_DIR=D:\Program Files (x86)\MSBuild-15.3.409.57025\MSBuild .0\Bin

MSBUILD_PATH=D:\Program Files (x86)\MSBuild .0\Bin\MSBuild.exe

要使用它,您需要有一个至少包含以下两项修改的自定义部署脚本:

  1. 将msbuild15.3目录传递给nuget(nuget4对其有依赖): nuget.exe 恢复“{您的 .sln 文件路径}”-MSBuildPath“%MSBUILD_15_DIR%”
  2. 使用msbuild15.3构建并发布: “%MSBUILD_15_DIR%\MSBuild.exe {您的构建参数}”

话虽如此,Azure 在两个级别上管理操作系统修补:物理服务器和运行应用服务资源的来宾虚拟机 (VM)。两者每月更新一次,与每月补丁星期二时间表保持一致。这些更新会自动应用,从而保证 Azure 服务的高可用性 SLA。

虽然关键操作系统信息被锁定而无法访问(请参阅Azure 应用服务上的操作系统功能),但 Kudu 控制台使您能够查询应用服务实例的操作系统版本和运行时版本。

请查看文档Azure 应用服务中的操作系统和运行时修补,了解有关此主题的更多详细信息。


0
投票

只需更新deploy.cmd

更新此行以获取最新版本的 msbuild

调用:ExecuteCmd“%MSBUILD_16_DIR%\ MSBuild.exe”/恢复“%DEPLOYMENT_SOURCE%\ SmartAssets.Server \ SmartAssets.Server.csproj”/ p:DeployOnBuild = true / p:configuration =发布/ p:publishurl =“%DEPLOYMENT_TEMP” %"%SCM_BUILD_ARGS%

您可以通过在终端中使用命令“set msbuild”来检查可用的版本。

© www.soinside.com 2019 - 2024. All rights reserved.