给出“MsBuild.exe”的 SonarScanner 在 TFS 2018 上未被识别为内部或外部命令

Posted

技术标签:

【中文标题】给出“MsBuild.exe”的 SonarScanner 在 TFS 2018 上未被识别为内部或外部命令【英文标题】:SonarScanner giving 'MsBuild.exe' is not recognized as an internal or external command on TFS 2018 【发布时间】:2019-04-29 18:09:34 【问题描述】:

我正在将 SonarQube 添加到现有的 TFS 2018 版本中。我按照此处https://docs.sonarqube.org/display/SCAN/Install+the+SonarScanner+for+MSBuild 下载社区版7.4 的说明进行操作。

完成快速安装指南https://docs.sonarqube.org/latest/setup/get-started-2-minutes/ 的步骤 我使用以下命令进入要求“从您的计算机执行 MSBuild 扫描程序”的部分:

    SonarScanner.MSBuild.exe 开始 /k:"key" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="key" MsBuild.exe /t:重建 SonarScanner.MSBuild.exe 结束 /d:sonar.login="key"

当我运行第一个命令时,它成功了 C:\sonar-scanner-msbuild-4.4.2.1543-net46> SonarScanner.MSBuild.exe 开始 /k:"key" /d:sonar.host.url="http://localhost:9000" /d: sonar.login="key"

适用于 MSBuild 4.4.2 的 SonarScanner 使用 .NET Framework 版本的 Scanner for MSBuild 默认属性文件位于 C:\sonar-scanner-msbuild-4.4.2.1543-net46\SonarQube.Analysis.xml 从 C:\sonar-scanner-msbuild-4.4.2.1543-net46\SonarQube.Analysis.xml 加载分析属性 预处理开始。 正在准备工作目录... 13:32:09.468 更新构建集成目标... 13:32:09.5 正在获取分析配置设置... 13:32:10.173 为 cs 配置分析器程序集... 13:32:10.173 安装所需的 Roslyn 分析仪... 13:32:10.579 为 vbnet 提供分析器程序集... 13:32:10.579 安装所需的 Roslyn 分析仪... 13:32:10.735 预处理成功。

但是,当我运行第二个命令“MsBuild.exe /t:Rebuild”时,它失败并出现以下错误:

C:\Program Files (x86)>MsBuild.exe /t:Rebuild 'MsBuild.exe' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

我确认我添加/更新了环境变量 %PATH%,MsBuild 存在,我想知道 .NET 4.5 框架的说明中是否还有其他步骤未提及?有没有人在使用 TFS 构建时遇到过这个 .NET 错误或有任何想法?

【问题讨论】:

您按照错误的说明进行操作。看看这个:docs.sonarqube.org/display/SCAN/… 感谢丹尼尔为我指明了正确的方向。这纠正了我的问题......所有系统都可以! -埃德 【参考方案1】:

尝试输入 msbuild 的确切路径,例如对于 VS2017 Professional 命令应该是:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\"MsBuild.exe /t:Rebuild

【讨论】:

不知道为什么这被否决但它对我有用。 是的,这有效“C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64\MSBuild.exe”我还必须使用“dotnet- sonarscanner”而不是“SonarScanner.MSBuild.exe”

以上是关于给出“MsBuild.exe”的 SonarScanner 在 TFS 2018 上未被识别为内部或外部命令的主要内容,如果未能解决你的问题,请参考以下文章

msbuild.exe 保持打开状态,锁定文件

在编译期间使用 MSBuild.exe 设置布尔变量

如何在批处理文件中调用设置为“C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe”的变量?

CMake ERROR Failed to run MSBuild command: MSBuild.exe

使用BuildTools_Full.exe安装时,Windows中安装的MSBuild.exe在哪里?

MSBuild.exe 已停止 cmake 错误