azure-devops - MSBUILD.EXE 环境变量
问题描述
团队,
我有一个 powershell 脚本,它调用 MSBUILD.exe 在 Azure devops Build 管道中运行构建以打包它。当前脚本使用 vs12。当它与 vs 12 一起运行时,我遇到了以下错误。
错误 MSB4019:找不到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets”。确认声明中的路径正确,并且该文件存在于磁盘上。
因此,根据我的一位同事的建议,我不得不将其从 vs 12 更改为 vs 15,并为 MSBUILD 硬编码以下路径。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\
并且构建运行良好。所以现在,我想在我的 powershell 脚本中使用 ENV 作为这个路径,以便它动态地选择它。
下面是运行 MS build 的函数。
Function Get-MSBuild {
$lib = [System.Runtime.InteropServices.RuntimeEnvironment]
$rtd = $lib::GetRuntimeDirectory()
Join-Path $rtd msbuild.exe}
上面的代码在我的代理上失败,我遇到文件存在磁盘错误。我用 msbuild 路径替换了 $lib。如下。
Function Get-MSBuild {
$lib = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\"
Join-Path $lib msbuild.exe
}
上面的代码工作正常,但我想使用 env 或一些预定义的环境变量动态生成路径。
现在,我的问题是是否有一个预定义的环境变量来动态获取路径
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\"
提前感谢您的帮助。
解决方案
我可以直接在我的代码中调用 MSBUILD.exe,并且代理上存在 env 变量。
推荐阅读
- linux - 无法从 google colab 连接本地运行时
- node.js - Axios 发布请求未得到解决
- python - Plotly Dash 如何强制一个主题中的所有链接
- css - Material UI - 标签没有很好地生成
- c++ - 对`dp_lib_init()`的未定义引用
- django - 无法分配“'..'”:“ForwardFile.receiver”必须是“用户”实例
- angular - 如何在 angular-jasmine 中 JUnit 测试 HttpErrorInterceptor
- android - 将卡添加到 Google Pay
- neo4j - Neo4j-4.1 关系属性匹配查询运行缓慢,即使在其上创建索引后也是如此
- yarnpkg - 纱线无法识别内置包?