0
votes

We actually have a Windows Server 2008 R2 with Team Foundation Server 2010 installed, which has a projectcollection configured. A databaseproject was migrated from Visual Studio Premium 2010 to Visual Studio Premium 2012 and checked in to TFS2010.

On another Windows Server 2008 R2, Team Foundation Server 2010 is as TFS Build Server with Build Agents installed [TFS2010 Server with projectcollection and TFS Build Server 2010 works fine together].

After migration of databaseproject from Visual Studio Premium 2010 to Visual Studio Premium 2012, TFS Build and Deployment does not work, because on TFS2010 Build server, .deploymanifest file was used. But now for dbproject in VS2012, there are fewer files with .dacpac files.

I was reading a lot about compatibility and there is different information about executing db project build and deployment form VS2012 on a VS2010 TFS build server.

If I deinstall TFS2010 build server and installed TFS2013, at this point to select the project collection on the TFS2010, there will be shown an incompatibility error.

Is there an solution where we can build and deploy a VS2012 db project checked in TFS2010 from VS2012 on a TFS2010 or TFS2013 build server?

1

1 Answers

0
votes

When linking a TFS Build server, the version of the build server must always be the same or older than the TFS server, so the following is possible:

TFS Server version      | Supported Team Build versions
2015                    | 2010 SP1+CompatFix, 2012, 2013, 2015
2013                    | 2010 SP1+CompatFix, 2012, 2013
2012                    | 2010 SP1+CompatFix, 2012
2010                    | 2010

When installing a newer version of Visual Studio on the build server, you can use its tools to build the code, but you need to make sure Team Build is using the correct version of MsBuild.exe. The executable is installed in a different path since .NET 4.0 was introduced:

MsBuild version         | Path
4.0 (2012, 2010)        | C:\Windows\Microsoft.NET\Framework\v4.0.30319
12.0 (2013)             | C:\Program Files (x86)\MSBuild\12.0\Bin
14.0 (2015)             | C:\Program Files (x86)\MSBuild\14.0\Bin

Some features only work when the version of MsBuild is used which supports the feature.

The "Run MsBuild" activity in your XAML build workflow has a property called ToolPath, setting this to the correct path. It also has a ToolsVersion property, which you need to set to "11.0". This seems only required when using a version of the tools is newer than the version of the build engine.

Important note: TFS 2010 has reached its end of the support lifecycle last July. It may be a good idea to upgrade the server to a supported version.