These assemblies are usually stored somewhere in the Visual Studio installation path. Now if you're the only person working on your project, you'll probably not run into any issues here, but if you're using multiple machines, or more than one person is working on the project or you want to leverage the power of Team Build, you'll soon find out that your references become unreliable.
To solve the issues, you'll need to edit the project file by hand and fix the hintpath in your Assembly References. There's a few variables that point to a place inside the Visual Studio installation directory and $(DevEnvPath) would seem the most logical choice.
Turns our that while $(DevEnvPath) works fine inside Visual Studio, it doesn't carry over into Team Build, unless you set a system wide environment variable. Not ideal. But it works.
There are however two less obvious and less descriptive variables you can use: $(VSINSTALLDIR) or $(VS100COMNTOOLS). These two work irrespectively of where you're doing the build, as long as Visual Studio is installed on the system/buildserver in question.
- Connect Bug on issues with $(DevEnvDir)
- Post in CodeAnalysis forum that was the reason to write this blogpost