Diamonds Aren’t Forever – Example Projects

As per this diagram I have created a set of basic .Net projects that represent the problem and put it in a bitbucket repository.

The starting point is Tag, Version 1.

The Sample

The sample consists of 4 separate visual studio solutions, one for each component; the build directory that contains the MsBuild targets; the local Nuget Repository and some Content files.


  1. Clone Tag –
  2. Add the Local Repository to Nuget Settings or Update Repository Path in Build/All.Targets
  3. Run PrepareEnvrionment.bat

The Local Repository

So the build doesn’t regularly download megabytes of packages (I don’t like storing them in VCS) I use a local repository. There are scripts on the interweb to mirror the full NuGet repository, but that seems too much for this little project. There is a nugget extension that can be used to copy individual packages, see here (note if using XP, you’ll need to manually add the LocalAppData Environment Variable)

With this I just maintain and checkin a batch file that downloads each package I need, so I can move or restore the local repository as needed.

I imagine that in the future Nuget will allow you to specify a cache, and then all team members can point to a common cache. Until then….

One Reply to “Diamonds Aren’t Forever – Example Projects”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s