如何让kudu使用msbuild 15

3zwjbxry  于 2021-06-24  发布在  Kudu
关注(0)|答案(3)|浏览(307)
Microsoft.Net.Compilers is only supported on MSBuild v15.0 and above

无论kudu的自动检测工具是什么,它总是选择14
有没有办法强迫它选择15个?

6ioyuze2

6ioyuze21#

为web应用添加应用设置: MSBUILD_PATH 有价值的 %MSBUILD_15_DIR%\msbuild.exe 这将由默认的部署脚本获取。

a0zr77ik

a0zr77ik2#

默认情况下不使用msbuild 15。您可以使用它,只需对kudu脚本稍加修改。
下面是一个使用msbuild 15进行还原、生成和发布*的示例。

:: 1. Restore nuget packages
call :ExecuteCmd nuget.exe restore "%DEPLOYMENT_SOURCE%\BACON.sln" -MSBuildPath "%MSBUILD_15_DIR%"
IF !ERRORLEVEL! NEQ 0 goto error

:: 2. Build and publish
call :ExecuteCmd "%MSBUILD_15_DIR%\MSBuild.exe" "%DEPLOYMENT_SOURCE%\BACON.WEB.csproj" /p:DeployOnBuild=true /p:configuration=Release /p:publishurl="%DEPLOYMENT_TEMP%" %SCM_BUILD_ARGS%
IF !ERRORLEVEL! NEQ 0 goto error
  • 改变 BACON.sln & BACON.WEB.csproj 添加到项目文件名
lzfw57am

lzfw57am3#

msbuild15现在在azure中可用,但是它不是默认的,您需要添加自定义部署脚本来覆盖kudu的项目检测逻辑。
正如Watashinu所描述的,您可以添加如下内容:

nuget restore "%DEPLOYMENT_SOURCE%\{SolutionPath}"
"%MSBUILD_PATH%" {MSBuildArguments}

这是github中的模板和问题。

相关问题