Recently I’ve been helping a fellow Readifarian get started on a brand new project using TFS and VS 2010. As always, we’ve seen a few teething issues along the way. Yesterday he was attempting to get his database project to build on his shiny new Windows 2008 R2 x64 build server and was having some issues with the SqlBuildTask failing. The stack trace was pointing to an unresolvable reference to the SQL CE assemblies.
After doing some digging around the MSDN forums and broader web I found some older posts on x64 issues with SQL CE. While this wasn’t my issue, it led me down the right path. What’s happening here is that there is a minor issue with locating the x64 version of the mentioned assembly cause by a bug in the setup of Team Build. The workaround here is to set the MSBuild framework to x86, which in turn makes the database project locate and use the x86 version of the SQL CE assembly.
Important Note: This work around will only be needed in the Beta 2 timeframe for 2010, as the underlying cause of this issue has been fixed for RTM.