At work we're using NUnit, FxCop and some other tertiary software on our projects. Right now we have the project files for each app stored in the project's repo and the software is installed per developer machine (well... currently only one, me).
We're hiring a couple other developers in a few weeks and I'm trying to set things up to be easier and more transparent.
I read that it's a good idea to install these types of software into the the repo, and copy/paste shortcuts to your desktop to run the gui. This makes it so that it's easy to update to newer versions of the software (install them to your working copy, over top of the old one, and then commit the changes) and it's a cinch to update all of the developers: The next checkout will include the new version of the software.
So I'm wondering...
Does this work as advertised? has anyone tried it?
Also, considering the repository folder structure below, if you've got multiple pieces of software being developed, do you install a copy of, say nunit, in each project's Extras folder, or do you install one and only one in the Repositories' Common folder to be used for all projects? (the latter makes me think that there's a logical and physical disconnect between the project and the tool, but the former means that there could be a whack of different tools because project a is using nunit 2.4.5 and project b is using nunit 2.4.8 etc. - along with all of the other tools/versions)
Repository>Common
Repository>ProjectName>Extras
Repository>ProjectName>Trunk
Repository>ProjectName>Tags
Repository>ProjectName>Experiments
I'm not sure if this last part makes sense... let me know and I'll clarify.