Как указать версию MSBuild в Azure

У меня есть проект, который создается локально, но не при развертывании в Azure с использованием интеграции github + kudu.

Он жалуется на то, что версия С# 7.3

Если я вручную изменю автоматически сгенерированный сценарий развертывания, это решит проблему.

Я изменяю следующее (в Azure)

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

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

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

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

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

то есть я просто заставляю его использовать MSbuild15

Моя непосредственная проблема решена, но это похоже на взлом. Есть ли способ правильно указать версию msbuild?


person FelixHJ    schedule 09.06.2020    source источник


Ответы (2)


используя это как руководство:

Как заставить KUDU использовать MSBuild 15

MSBUILD_PATH устанавливается в конфигурации приложения -> Настройка нового приложения (нажмите +), а затем введите

Имя: MSBUILD_PATH

Значение: %MSBUILD_15_DIR%\msbuild.exe

и проверьте настройку слота развертывания

подтвердите, открыв powershell в интерфейсе kudu и запустив:

PS D:\home> echo $env:MSBUILD_PATH
person FelixHJ    schedule 29.07.2020

В вашей среде Kudo должны быть переменные msbuild для каждой версии:

D:\home>set msbuild
MSBUILD_15_DIR=D:\Program Files (x86)\MSBuild-15.9.21.664\MSBuild\MSBuild\15.0\Bin
MSBUILD_16_DIR=D:\Program Files (x86)\MSBuild-16.4\MSBuild\Current\Bin
MSBUILD_PATH=D:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe
person Paulo Morgado    schedule 09.06.2020
comment
Как указать конкретную версию msbuild для использования в Azure, помимо непосредственного редактирования файла deploy.cmd? - person FelixHJ; 09.06.2020
comment
Как вы создаете сценарий развертывания? - person Paulo Morgado; 09.06.2020
comment
Это каким-то образом выполняется azure: я настроил интеграцию с github с помощью Kudu, в журналах говорится об этом в отношении deploy.cmd: использование кэшированной версии сценария развертывания (команда: 'azure -y --no-dot-deployment -r D :\home\site\repository -o D:\home\site\deployments\tools --aspWAP D:\home\site\repository\Fx\Fx.csproj --solutionFile D:\home\site\repository\PDFRipper. слн'). - person FelixHJ; 10.06.2020