如何使KUDU使用MSBuild 15

时间:2019-04-10 21:51:38

标签: azure msbuild kudu

Microsoft.Net.Compilers is only supported on MSBuild v15.0 and above

对于KUDU,无论自动检测工具是什么,它总是选择14

有没有办法强迫它选择15个?

3 个答案:

答案 0 :(得分:0)

msbuild 15现在在Azure中可用,但是不是默认情况,您需要添加自定义部署脚本以覆盖Kudu的项目检测逻辑。

watashiSHUN 所述,您可以添加以下内容:

body {
  position: absolute;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.container {
  flex: 1;
  border: 2px solid blue;
}
.resize {
  display: flex;
  height: auto;
  flex-direction: column;
  flex-wrap: wrap;
  border: 2px solid #f00;
}

.resize > div {
  border: 2px solid #555;
  flex: 0 0 auto;
  background-color: #ccc;
  height: 100px;
  width: 100px;
}

这是github中的templateissue

答案 1 :(得分:0)

为您的Web应用添加应用设置:

MSBUILD_PATH的值为%MSBUILD_15_DIR%\msbuild.exe

这将由默认的部署脚本获取。

答案 2 :(得分:0)

默认情况下不使用

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.slnBACON.WEB.csproj更改为项目文件名