如何在 Azure 中指定 MSBuild 版本

How to specify MSBuild version in Azure

我有一个在本地构建的项目,但在使用 github + kudu 集成在 azure 中部署时却没有。

它抱怨 C# 版本是 7.3

如果我手动更改自动生成的部署脚本,问题就解决了。

我更改了以下内容(在 Azure 中)

D:\home\site\deployments\tools\deploy.cmd

****** FROM ******

IF DEFINED MSBUILD_PATH goto MsbuildPathDefined
SET MSBUILD_PATH=%ProgramFiles(x86)%\MSBuild.0\Bin\MSBuild.exe
:MsbuildPathDefined

****** TO ******

IF DEFINED MSBUILD_PATH goto MsbuildPathDefined
SET MSBUILD_PATH=%ProgramFiles(x86)%\MSBuild.0\Bin\MSBuild.exe
:MsbuildPathDefined
SET MSBUILD_PATH=%ProgramFiles(x86)%\MSBuild-15.9.21.664\MSBuild\MSBuild.0\Bin\MSbuild

即我只是强制它使用 MSbuild15

我眼前的问题已经解决了,但感觉像是被黑了。有没有办法正确指定 msbuild 版本?

您的 Kudo 环境应该有每个版本的 msbuild 变量:

D:\home>set msbuild
MSBUILD_15_DIR=D:\Program Files (x86)\MSBuild-15.9.21.664\MSBuild\MSBuild.0\Bin
MSBUILD_16_DIR=D:\Program Files (x86)\MSBuild-16.4\MSBuild\Current\Bin
MSBUILD_PATH=D:\Program Files (x86)\MSBuild.0\Bin\MSBuild.exe

以此为指导:

How do you get KUDU to use MSBuild 15

MSBUILD_PATH在应用程序“配置”->“新建应用程序设置”(点击+)中设置,然后进入

姓名:MSBUILD_PATH

值:%MSBUILD_15_DIR%\msbuild.exe

并检查“部署槽设置”

在kudu界面打开powershell进行验证,运行:

PS D:\home> echo $env:MSBUILD_PATH