TFS Build Failure - Unable to find Visual Studio 2017 - tfs

After updating to TFS 2017 Update 2 RC1, my builds are failing because Visual Studio 2017 (MSBuild 15.0) is not found. I am using the 'Visual Studio Build' task with 'Latest' selected as the Visual Studio version.
I have reinstalled Visual Studio Build Tools 2017.
I have repaired my TFS installation.
I have reinstalled my Build Agent.
I have verified that my Build Agent has Visual Studio 2017 and MSBuild 15.0
capabilities.
The only way I am able to get a successful build is to replace my 'Visual Studio Build' tasks with 'MSBuild', and manually direct to the MSBuild executable. I don't find this acceptable, I have too many Build configurations that would need to be changed. And when the next version of MSBuild comes out, I have to manually update them all.
Build Agent Capabilities:
MSBuild
Visual Studio

Suggest you directly select VS2017 instead of latest in the VS version option, then trigger the build again.
To narrow down the issue, you could try below ways:
Create a new build definition with the same settings to build the
project
Use the build definition to build another Visual Studio 2017 project such as a new created one
Enable TFS Build debug logging by adding a variable named
system.debug and setting its value to 'true'. This will enable full debug logging to correct more info.

Related

Using VS2019 with TFS2018 vnext build system without server side work around

I recently ran into a problem trying to use VS2019 with the TFS2018 vnext build system.
You cannot select VS2019 in the "Visual Studio Build" step, and selecting "Latest" does not use Visual Studio 2019.
On a test server, upgrading the server software from TFS 2018.3 to Azure Devops Server 2019 fixes the issue. Is there a simple work-around that would allow Visual Studio 2019 to be used without affecting the TFS server in a questionable way.
This question extends the question here:
Using VS2019 with TFS2018 vnext build system
Instead of using the Visual Studio Build step, I tried switching to the MSBuild Build step and specified the path to msbuild.exe as follows:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin
The build ran successfully and used Visual Studio 2019.

TFS 2017 - Build Server does not build Visual Studio 2017

After upgrade of Visual Studio 2017 last week on my build server, the MS Build 15.0 is not in use anymore. So whenever I try to compile visual studio 2017 projects which use new feature they will fail.
The Warning in build log is:
Visual Studio version '15.0' not found. Looking for the latest
version.
And the error is:
something.cs(542,41): Error CS1525: Invalid expression term 'int'
Which is because build server is using MS build 14.0 I guess.
So far I have
1- Uninstall and Reinstalled the Visual Studio 2017 on the build server.
2- Installed "Visual Studio Build Tools 2017".
And nothing works.
I have read some articles and apparently there are missing registry values but I don't know how to create them.
Appreciate your helps on this topic.
I am using TFS 2017 SP1 (On premises) and Visual Studio 2017 latest updates.
This may due to the VS is installed after the build agent configured. Then reregister the build agent with TFS, since the system capabilities are only discovered when the agent is first configured -- any changes made after that are not captured.
More ways please refer this similar question: No agent could be found with the following capabilities: msbuild, visualstudio, vstest?
Or install the latest version of the agent for now, which appears to be capable of detecting VS2017.
Also remember to select VS2017 in Visual Studio Version picklist of Visual Studio Build task.
I have resolved this issue by upgrading my TFS from TFS 2017 SP1 to
TFS 2017 SP2.
Thanks to #Patrick-MSFT and #Martin Ullrich for your help.

No agent could be found with the following capabilities Xamarin.Android

I'm trying to create a build definition to build and package an Android app based on Xamarin Forms.
I want to do so thanks to TFS 2017 Update 1 on premise.
I've installed Visual Studio 2017 and Xamarin on my build server, and even after restarting my server, my agent does not find the Xamarin.Android capability.
I'm still getting en error while queuing one build :
No agent could be found with the following capabilities AndroidSDK, MSBuild, Xamarin.Android, JDK
The only capability that is missing on my agent is the Xamarin.Android.
Do you have any idea on how to add it on my agent ?
Regards
Add an environment variable named Xamarin.Android and the value of this would be
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Xamarin
or change it wrt your Visual Studio version and installation path.
Install Visual Studio 2017 on the build server and check Xamarin in the setup
Please check on the build server for an environment variable named Xamarain.Android and if it not exist add it or add an capability in TFS on the agent

TFS 2010 issues building C#6.0 code with MS Build 14

We have TFS 2010 running happily on a dedicated build server.
I have installed Microsoft Build Tools 2015, which includes MS Build 14 successfully on the build machine, but not Visual Studio 2015.
I've created a custom template which alters the "ToolsPath" property of the "Run MSBuild" activity to "C:\Program Files (x86)\MSBuild\14.0\Bin".
The build runs, but fails on this particular error:
(CoreCompile target) ->
CSC : error CS1566: Error reading resource 'ProjectName.exe.licenses' --
'Could not find file 'C:\develop\Sources\ProjectName\obj\x86\Release\ProjectName.exe.licenses'.' [C:\develop\Sources\ProjectName\ProjectName.csproj]
The same project builds fine using Visual Studio 2015 running from another machine.
It makes no difference whether the TFS build definition includes these MS Build arguments or not:
/tv:14.0 /p:VisualStudioVersion=14.0
Does anybody have a success story of using a TFS 2010 build agent to successfully build a C#6.0 project?
I solved this in the end by installing Visual Studio 2015!
The /tv:14.0 /p:VisualStudioVersion=14.0 argument may don't work for MSBuild Tools.
You should customize the tfs build process template to set ToolPath of the Run MSBuild for Project to target to MSBuild14; and set ToolVersion to "14.0".
Check this link for the detailed information:BuildActivity ignores ToolsVersion

TFS 2013 Build Service connect to TFS2012 server

I have TFS2012 Update 3 server. We have started new VS 2013 project. I need to prepare build server and service. My initial thought is to install Vs 2013 together with TFS2013 build service.
After installation TFS2013 and registration to TFS collection I got below issue:
The register command is not supported for Team Foundation Service [our_tfs_url] because the server is not compatible.
Please advice any solution how to create builds for VS 2013 projects that are stored in TFS 2012.
Update 1:
1) I installed TFS 2012 build service and redirect msbuild ( toolpath) in build template to use VS 2013 msbuild
2) I am able now to build project with a test
3) There are still issue with Code Coverage, that finish with warning: Install visual studio. It seems for me that CC used still VS 2012. Is any way to redirect CC to VS 2013?
Below solution helps me build on VS 2013 build machine with TFS 2012 build service and generate code coverage.
TFS 2012 buid service runs tests from 11.0 location, to replace CommonExtensions in folder
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions
with Vs 2013 assemblies from
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions
fix that issue and now I can see code coverage per build.
thanks MS to provide workaround on that issue with Code coverage.

Resources