Jenkins无法识别msbuild.exe

x6h2sr28  于 2022-12-11  发布在  Jenkins
关注(0)|答案(1)|浏览(215)

我刚刚开始与Jenkins和以下教程:https://medium.com/southworks/creating-a-jenkins-pipeline-for-a-net-core-application-937a2165b073
我已经到了清理解决方案的地步,但我得到了错误:“msbuild.exe”未被识别为内部或外部命令、可操作的程序或批处理文件。
这是我到现在为止的Jenkins档案:

pipeline {
    agent any
    stages {
        stage ('Clean workspace') {
            steps {
                cleanWs()
            }
        }
        stage ('Checkout git') {
            steps {
                git credentialsId: 'jenkins_id', url: 'https://github.com/org/project.git', branch: 'feature-branch'
            }
        }
        stage('NuGet restore') {
            steps {
                bat "dotnet restore ${workspace}\\solution.sln"
            }
        }
        stage('Clean solution') {
            steps {
                bat "msbuild.exe ${workspace}\\solution.sln -nologo -nr:false -p:platform=\"x64\" -p:configuration=\"release\" -t:clean"
            }
        }
    }
}

下面是我在Jenkins中配置MSBuild的过程:

C:\Program Files(x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin也加入到我的Path变数中,而且我有一个具有相同值的msbuild系统变数。
我不知道这是否重要,但我正在使用IDE的骑士。
有人知道为什么Jenkins找不到msbuild吗?
谢谢

yiytaume

yiytaume1#

我假设您已安装Visual Studio 2019。我怀疑路径不正确。请使用vswhere命令查找MSBuild。您可以使用以下命令:

"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe

在我安装了Visual Studio 2022社区的计算机上,结果是:

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe

在Windows上,如果安装了Visual Studio 2017或更高版本,则可以依赖位于“%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere”的vswhere
vswhere仅适用于Windows,它是用于Windows的Visual Studio安装程序的一部分,而不是.NET SDK的一部分。)

相关问题