Geeks With Blogs


Add to Google

Tim Hibbard CEO for EnGraph software

Update - Found a solution here

I've had a problem ever since installing TFS, and I've not blogged about it yet because I wanted to figure out a good solution first.  I haven't found the solution, so I'm hoping for some good advice from the brilliant GWB readers.

We have quite a few dll's and controls that we reference from our applications.  For example, we have our SQL Connection String control that lives in the EnGraph Controls team project.  If I want to use the SQL Connection String control, I add a reference to the control on the shared folder on the TFS server that does the team build.  This works really well because when the control is updated, all of the applications that reference it are automatically updated.  I also don't have to worry about different file locations when I work on different computers, the latest version is always on the server.

However, this decision is causing some problems. 

First of all, executing a team build is painful.  The team build wants to clean out the build folder and if I have another instance of visual studio open that references that control, it will bomb.  I generally have to clean the solution that references the control and keep trying to execute the build.  Eventually it will go through, it usually just a matter of trying.  I really don't want to have to play the guessing game with team build though.  I want to be able to execute a team build and it just works.

The second problem has to do with visual studio build time.  We work remotely a lot of the time, and we connect to our network over VPN (using our handy dandy VPN Manager).  When we have two or three megabytes worth of references, it takes a while to bring all those references down from the server before it can even start the build.

So basically, my problem is this.  I want everybody on our team to be able to always have the latest version of our common dll's and controls, but I don't want to pay the network cost every time we build from VS, and I don't want to execute a team build four times before it goes through.


Posted on Friday, February 16, 2007 4:23 PM EnGraph , .NET , VPN , TFS | Back to top

Comments on this post: My TFS architecture problem

# re: My TFS architecture problem
Requesting Gravatar...
So Tim,

This is a somewhat complicated enquiry and it covers a lot of pain points people are seeing.

For you network issues, you should install the Team Proxy on you build server(s) this will greatly increase you build and download time because most of the code will be cache on the proxy server (first time will still be long). Your build server should not be used as a dev workstation (meaning don't have a VS open on it, just installed) this should prevent contention on files. You'll probably need to create a TFSBuild.proj file that takes care of your dependency and workspace problems. Look at Workspace.xml to target a specific part of your source tree that should narrow down build source download also to only the things you need to build.

I'm not sure about why you need to try it 3-4 times to get it working. Again if you have a dedicated build server then you should be fine.

Let me know if you need anything else (check my blog and select the contact me if you want to take this offline also).
Left by ET on Feb 16, 2007 4:49 PM

# re: My TFS architecture problem
Requesting Gravatar...
I can relate totally with your pain - we've run into similar issues as well with our build process and TFS. I know one temporary fix I used for our common DLL's was to keep a local copy on my box of those DLL's in the same relative path as they are on the TFS tree so that I could use them locally...but that only worked because our common DLL's are fairly static.
Left by Lou on Feb 16, 2007 6:53 PM

# re: My TFS architecture problem
Requesting Gravatar...
While it is another next-gen incarnation of a beloved series,wow goldResident Evil 5 looks to make a step in a different direction in both gameplay and graphics. The trailer to this game alone scares me, so I have no idea how I’ll be able to play it. Probably lights on, with a few friends present, but it’s the new gameplay elements that could make this an instant classic like its forbear, Resident Evil 4. It’s set in the desert, so if you stay outside in the sunshine for too long, you’ll take damage from the extreme temperature. But if you go inside, you face zombies, in the dark, at close quarters. Should be a challenge and a great game to play.
Left by spirit on Nov 25, 2008 11:36 PM

Your comment:
 (will show your gravatar)

Copyright © Tim Hibbard | Powered by: