You must have to add the dependencies of Project 2 (that mean Project 1) in order to work with it. Since project 2 has definition of fooChicken but it uses/implements interface (IChokable) defined in project 1 so you need to add it to Project 3.
There is nothing wrong here, it is simple and we encounter it very often, to use any DLL we must add all of its dependencies.
When you create a DLL...it is extremely important that you identify exactly what dependencies your application requires, and their versions. You must provide details of the dependencies in metadata of DLL or in read me file (instructions/ how to use).
For a real life example, please have a look at below link (and for more dig into the codebase of Microsoft Enterprise Library).
http://msdn.microsoft.com/en-us/library/ff647601.aspx[
^]
Hope this will help. Thanks.