msbuild - 如何在 Azure 中指定 MSBuild 版本

标签 msbuild c#-7.3 azure-appservice

我有一个在本地构建的项目,但在使用 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\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版本?

最佳答案

以此为指导:

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

关于msbuild - 如何在 Azure 中指定 MSBuild 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62275123/

相关文章:

c# - 使用给定的用户名在远程机器上安装 Windows 服务

msbuild - 我如何为Sublime Text 2建立一个构建系统来构建msbuild?

asp.net-mvc - 从 MSBuild Typescript 编译中排除目录

C# 7.3 枚举约束 : Why can't I use the enum keyword?

c# 7.3 ValueTuple - 在解构后检查默认值

Azure 容器注册表 Webhook 到应用服务 401

visual-studio-2010 - 自动化 VS 2010 "Publish"配置文件替换

Azure 应用程序配置 - 如何获取应用程序服务中的最新配置

azure - 从应用程序设置 .net 6 应用程序访问客户端 key (Azure AD 身份验证)