The type or namespace <blah> does not exist

I would make sure that your project has included the references to the assemblies.

enter image description here

I would check that the build order matches your dependencies

enter image description here

Finally, if everything is setup properly, you should see the following Build Order:

enter image description here

Doesn't look like this is your problem, but for completeness, I should add that another thing to check (if your project targets the .NET Framework 3.5 or above) is that the Target Framework for both projects match. If you are linking something that targets the Client Profile from a full version of the Framework, you will also get a 'not found' error:

enter image description here


The solution has to do with the file path limits in Windows, and they way the IDE translates relative paths into full ones, as explained in this blog.

The immediate solution is to edit the csproj file manually to use the absolute path. Until the reference is re-added, the absolute path will be valid. One day I may shorten my folders, but it's not top priority at the moment.

If you suspect you have this issue, look at the Warning messages from the compiler. I often have these turned off myself, only looking at errors. But the warning about "the referenced project does not exist" was the clue that solved this for me.

In case the other link disappears, here is the link to the MS article. http://support.microsoft.com/kb/2516078

It is worth noting that this same error manifests for a variety of issues such as client-framework-targeting issues, and is logged as a warning when a reference fails to load. Presumably the reference error is only a warning because if the reference is not actually needed it doesn't matter.