Will my 2010 tfs build scripts work with 2013 build controller? - visual-studio-2013

I have build scripts which work with 2010.
Will these work with 2013 build controller?

TFS 2010 Build Controller and Build Agents work with TFS 2013. If you're concerned about compatibility, you can just leave your build servers running the 2010 Build components.

The XAML Build templates are platform specific and will only work with their version of TFS.
If you have MS Build scripts or use another make platform scripts then you should be able to call them from any platform.
You can always as Dylan sugests continue to use your 2010 controllers.

Related

MS Fakes in TFS VS Build Test-step

How to enable MS Fakes generating in TFS 2017 VS Build Test-step without installation of Visual Studio on build server?
I know there is a way by copying some files from developer machine to the build Server but it doesn't seem right.
There is also "VS Build Tools 2017" that distributes some targets and references for build process without full VS stand alone installed, but it still doesn't include Fakes support!
Is there any package for that so I could install it without silly per file copying, wihtout VS and my own licence on server?
Afraid there is no way to bypass this, you have to install visual studio and need an Enterprise edition , unfortunately.
Have a look at this article in the Test section: https://www.visualstudio.com/vs/compare/ . If you could simply add some free packages, there is no need to restrict users only use visual studio enterprise edition for Microsoft Fakes (Unit Test Isolation) support.

How to isolate TFS build agents to build with different versions of VS?

We have one TFS build controller with four build agents. We also have VS 2013 on all four build agents to build our VS 2013 projects. We now need to start building new projects with VS 2015. We’ve already noticed that some of the VS 2013 projects fail to build on a TFS build agent with VS 2015 so we need to find a way to isolate the build agent with VS 2015 and only build VS 2015 based projects on a TFS build agent with VS 2015 without impacting the VS 2013 projects. How can this be done with only one TFS build controller? Do we need to create a 2nd build controller on the same TFS server to handle VS 2015 builds? I've read this can be done (more than one build controller on same TFS server) but this scenario is not supported by MS.
You don't need separate controllers or agents for this. You can explicitly specify the Visual Studio version and MSbuild version by passing MSbuild arguments in your build definition.
Visual Studio
/p:VisualStudioVersion=12.0 will force it to use VS 2013.
/p:VisualStudioVersion=14.0 will force it to use VS 2015.
MSBuild
/tv:12.0 will force MSBuild to use the VS 2013 version.
/tv:14.0 will force MSBuild to use the VS 2015 version.

Updating Visual Studio and TFS from 2013 to 2015

We have several .NET solutions (desktop apps and an MVC website) we've been working on. The projects were all built in VS2013 and are hosted on a TFS 2013 server. We would like to update to VS2015...but I'm a little wary about it. If we update to VS2015, do we also need to update to TFS 2015? Or is it smarter to run VS2015 alongside VS2013? If we do the latter option, would be still need to update TFS to 2015?
You can quite happily use VS 2015 and TFS 2013 together.
In the olden times (TFS 2010 or earlier) you might have wanted to keep the old version of VS around to manage the TFS server but these days most functions are available from the TFS web UI.
The only thing you would need to be careful with is if you are using TFS Build for your CI server. If this is the case you will need to update the version of VS installed on your build agents.
You don't need to update to TFS2015. You can still use VS2015 with TFS2013.
But if you want to build for C#6/.Net 4.6 applications, you need to pay attention to your build enviroment. Such as install MSbuild Tools 14.0, amend the build templates to point to MS Build version 14.0. For detail you can reference: TFS 2013 building .NET 4.6 / C# 6.0

Minimum CI slave requirements to build MVC TFS solution

What are the minimum requirements for pulling and building a TFS hosted Visual Studio 2012 MVC solution on a clean Windows 2012 Server VM?
I'm setting up a continuous integration slave and I want to install as few tools as possible to get set of projects out of Team Foundation Server source control and building.
My working assumption is that I'll need Team Explorer to get the files from the TFS server, and Visual Studio Express 2012 (Web) to actually build the solution.
The CI slave will NOT use Team Foundation Build, rather it will be part of a Jenkins grid. I know they have a plugin for TFS, but I don't know if it can be used in lieu of Team Explorer.
Running of unit tests will follow but the framework to be used has not be decided yet.
The solution has existing NuGet package dependencies and those are not checked in.
Team Explorer Everywhere
Microsoft Windows SDK for Windows 7 and .NET Framework 4

Can I run TFS automated builds using both VS2010 and VS2012?

We currently use TFS 2010 and have numerous build definitions for our various version of our software. We want to use VS2012 for our next version(still using TFS 2010) so is it possible to have both versions of VS on a build controller and will the build process know which version of VS to use or will we need one build controller for VS2010 and one for VS2012? Also I have custom build templates will that present any issues? Then what happens when we upgrade to TFS 2012? will we be able to run automated builds using both VS2010 and VS2012??
In general - yes. Actually Visual Studio doesn't build anything. It's the underlying MSBuild engine that handles the build tasks.
Furthermore, you can setup a build machine without Visual Studio at all, provided that your project don't hold direct references to Visual Studio references paths (e.g. C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies). If there are such references you can copy them to your 3rd party\lib directory in the source control and have the projects refer to that directory as file references.
Other notes:
But Visual Studio will hardly be your biggest hindrance. It's
multi-targeting .NET that will require some extra caffeine :)
The build templates will work as long as you satisfy their custom
references (GAC can used for that matter)
A build controller can be registered with one server at a time
Use a build server for each target framework\VS version

Resources