Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

msbuild.exe is not recognized command after build in Jenkins

Tags:

1. sharing violation

after following http://programmaticponderings.wordpress.com/2012/08/08/convert-vs-2010-database-project-to-ssdt-and-automate-publishing-with-jenkins-part-33/

    echo 'Copying Adventure Works Solution to Jenkins workspace...' xcopy /s /E /H /Y /R "C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3" "C:\Program Files (x86)\Jenkins\jobs\testing003\workspace"   echo 'Deleting artifacts from previous builds...' del "%WORKSPACE%\*_publish.zip" /F /Q 

2.Build ms project with MS build

After add C:\Windows\Microsoft.NET\Framework\v4.0.30319\ environment variables path and set build C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe in Jenkins

'C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.sqlproj' /p:Configuration=Database3 /p:Platform=AnyCPU /t:Build;Publish /p:SqlPublishProfilePath='C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.publish.xml' /p:UpdateDatabase=False   Executing the command cmd.exe /C msbuild.exe "C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.sqlproj" /p:Configuration=Database3 /p:Platform=AnyCPU /t:Build;Publish "/p:SqlPublishProfilePath=C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.publish.xml" /p:UpdateDatabase=False C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe && exit %%ERRORLEVEL%% from C:\Program Files (x86)\Jenkins\jobs\testing003\workspace [workspace] $ cmd.exe /C msbuild.exe "C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.sqlproj" /p:Configuration=Database3 /p:Platform=AnyCPU /t:Build;Publish "/p:SqlPublishProfilePath=C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.publish.xml" /p:UpdateDatabase=False C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe && exit %%ERRORLEVEL%% 'msbuild.exe' is not recognized as an internal or external command,   C:\Users\User2>cmd.exe /C msbuild.exe "C:\Users\LAB-User2\Documents\Visual S tudio 2012\Projects\Database3\Database3.sqlproj" /p:Configuration=Database3 /p:P latform=AnyCPU /t:Build;Publish "/p:SqlPublishProfilePath=C:\Users\LAB-User2\Doc uments\Visual Studio 2012\Projects\Database3\Database3.publish.xml" /p:UpdateDat abase=False C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe && exit %% ERRORLEVEL%% from C:\Program Files (x86)\Jenkins\jobs\testing003\workspace Microsoft (R) Build Engine version 4.0.30319.17929 [Microsoft .NET Framework, version 4.0.30319.18034] Copyright (C) Microsoft Corporation. All rights reserved.  MSBUILD : error MSB1008: Only one project can be specified. Switch: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe  For switch syntax, type "MSBuild /help" 

update Full Console output

Started by user anonymous Building in workspace C:\Program Files (x86)\Jenkins\jobs\testing003\workspace [workspace] $ cmd /c call C:\Windows\TEMP\hudson1045566609826009314.bat  C:\Program Files (x86)\Jenkins\jobs\testing003\workspace>echo 'Copying Adventure Works Solution to Jenkins workspace...'  'Copying Adventure Works Solution to Jenkins workspace...'  C:\Program Files (x86)\Jenkins\jobs\testing003\workspace>xcopy /s /E /H /Y /R "C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3" "C:\Program Files (x86)\Jenkins\jobs\testing003\workspace"   C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.sln C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.v11.suo C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\excludefiles.txt C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3\Database3.dbmdl Sharing violation  C:\Program Files (x86)\Jenkins\jobs\testing003\workspace>echo 'Deleting artifacts from previous builds...'  'Deleting artifacts from previous builds...'  C:\Program Files (x86)\Jenkins\jobs\testing003\workspace>del "C:\Program Files (x86)\Jenkins\jobs\testing003\workspace\*_publish.zip" /F /Q  Could Not Find C:\Program Files (x86)\Jenkins\jobs\testing003\workspace\*_publish.zip  C:\Program Files (x86)\Jenkins\jobs\testing003\workspace>exit 0  Path To MSBuild.exe: msbuild.exe Executing the command cmd.exe /C msbuild.exe "C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.sqlproj" /p:Configuration=Database3 /p:Platform=AnyCPU /t:Build;Publish "/p:SqlPublishProfilePath=C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.publish.xml" /p:UpdateDatabase=False C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe && exit %%ERRORLEVEL%% from C:\Program Files (x86)\Jenkins\jobs\testing003\workspace [workspace] $ cmd.exe /C msbuild.exe "C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.sqlproj" /p:Configuration=Database3 /p:Platform=AnyCPU /t:Build;Publish "/p:SqlPublishProfilePath=C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database3.publish.xml" /p:UpdateDatabase=False C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe && exit %%ERRORLEVEL%% 'msbuild.exe' is not recognized as an internal or external command, operable program or batch file. Build step 'Build a Visual Studio project or solution using MSBuild' marked build as failure Finished: FAILURE 

enter image description here

like image 942
Martin Avatar asked Sep 03 '13 09:09

Martin


People also ask

How configure MSBuild in Jenkins?

From the Global tool configurations, you can setup MSBuild Configuration. Here, you have to copy the MSBuild.exe path from your system- Program files and paste it to Path to MSBuild textbox. Give a name for your MSBuild and now, apply and save the changes. Select a Freestyle project, click on ok.

How do I add MSBuild exe to Path?

Click on System and Security and then on System. In the left pane, click on Advanced system settings. At the very bottom of the pop up, click on Environment Variables. Edit the Path variable and append the folder's path that contains the MSBuild.exe to it (e.g., ;C:\Windows\Microsoft.NET\Framework64\v4.

How do I enable MSBuild?

To enable msbuild in Command Prompt, you simply have to add the directory of the msbuild.exe install on your machine to the PATH environment variable.

How do I use MSBuild exe?

Use MSBuild at a command prompt To run MSBuild at a command prompt, pass a project file to MSBuild.exe, together with the appropriate command-line options. Command-line options let you set properties, execute specific targets, and set other options that control the build process.


2 Answers

If you want to build a .NET project using Jenkins, follow these steps:

  1. Install MsBuild Plugin

  2. Go to Jenkins -> Manage Jenkins -> Configure System (On newer versions: Jenkins -> Manage Jenkins -> Global Tool Configuration -> MSBuild) msbuild

  3. In the MSBuild section click the AddMsBuild button and specify the details:

    • Name: Name of the MsBuild
    • Path to MsBuild: Specify the path of msbuild.exe. Example: C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe
  4. Save and apply the changes.

  5. Select your job.

  6. Select Add Build Step.

  7. Select MsBuild version.

  8. Specify the path to the project file (.csproj or .sln)

msbuild in project

  1. Build your project.
like image 195
Sumeshk Avatar answered Oct 04 '22 00:10

Sumeshk


For the newer version of Jenkins, this option is available under this section ..

Manage Jenkins -> Global Tool Configuration ->  MSBuild 

From this answer: https://stackoverflow.com/a/37939483/2880781

like image 40
Srijani Ghosh Avatar answered Oct 03 '22 23:10

Srijani Ghosh