C# 在Jenkins中生成后,无法识别msbuild.exe命令
1。共享冲突 之后 2.使用ms构建构建ms项目 添加C:\Windows\Microsoft.NET\Framework\v4.0.30319\environment variables路径后 并在Jenkins中设置build C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exeC# 在Jenkins中生成后,无法识别msbuild.exe命令,c#,.net,msbuild,jenkins,C#,.net,Msbuild,Jenkins,1。共享冲突 之后 2.使用ms构建构建ms项目 添加C:\Windows\Microsoft.NET\Framework\v4.0.30319\environment variables路径后 并在Jenkins中设置build C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe 'C:\Users\LAB-User2\Documents\Visual Studio 2012\Projects\Database3\Database
'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"
更新
完全控制台输出
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
如果要使用Jenkins构建.NET项目,请执行以下步骤:
Jenkins->Manage Jenkins->Configure System
(在较新版本上:Jenkins->Manage Jenkins->Global Tool Configuration->MSBuild
)
- 名称:MsBuild的名称
- MsBuild的路径:指定MsBuild.exe的路径。示例:
C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe
在作业的配置中选择MSBuild版本,然后在jenkins的配置系统中配置MSBuild版本。对于最新版本的jenkins(3.0),您必须在
工具>管理jenkins
菜单中配置MSBuild。在此处命名作业,例如:msbuild
。
一旦完成,就开始工作。在MSBuild模块下选择生成(在本例中为
MSBuild
),然后开始作业。您应该准备好了。对于较新版本的Jenkins,此选项在本节中提供
Manage Jenkins -> Global Tool Configuration -> MSBuild
从这个答案中:
您的意思是看不到此Jenkins->Manage Jenkins->Configure System选项吗?您必须在Jenkins Configure System选项中指定msbuild.exe路径,而不是在作业配置选项中指定,并在作业的配置设置中选择msbuild的名称(在我的情况下是(Net3.5)),并在MsBuild文件中指定项目的路径,例如E:\test\abc.csprojI,我使用的是通过Windows安装程序作为Windows服务安装的Jenkins 2.1.7。我在Jenkins->Manage Jenkins->Configure System中没有看到与MsBuild相关的任何内容。我已经安装了MsBuild插件,但在Configure Jenkins中没有看到它。这是2.1.7中的bug?如果有人与@Matt有相同的问题,那么在Jenkins的最新版本中,这个设置似乎已经改变了
Manage Jenkins -> Global Tool Configuration -> MSBuild