I had a VS2010 project that compiles fine on my computer but complains about a missing reference on another computer. I checked the references and there is one for “Interfaces” that has an exclamation mark, normal when the file is missing or has another issue.
I clicked on it once to select it and was going to look at it’s properties to see what was wrong but then the exclamation mark went away and the project could be compiled…
What is this witchcraft?
The problem for me is that this project will be part of a automated build using msbuild and it can’t be compiled without manually opening the file on each build agent and clicking the “missing” reference once 🙂
Can you compare the solution and project files before and after manuaslly opening the file?
I suspect you’ve got something odd going on with a reference that might quote a specific version and/or location, and that doesn’t match on that particular build agent.
E.G. is it a reference to the “Any CPU” build and the build agent only builds the “x86” build, or does the reference say v2.1.3.1 (and have a option stating or later acceptable) and only a later version is present so VS2010 is auto updating the reference to the later version.
We’ve had issues in the past with references when the dll wasn’t in the same location on different machines and so had to add the dll to solution in a known libraries subfolder, or to manually alter the path hint clause in the project file.
Start off comparing the before and after. Checkout the solution, let it fix itself and then do a diff to see what is changing.