I am wondering what to include when building my project. I have a library I need to reference for my project to build but that library has 10 dependencies itself. Should I r
You only need to add references that are directly used by your project.
For private assemblies (those not in the GAC) Visual Studio will, by default, copy referenced assemblies (and their dependencies) to your project's output directory.
For assemblies in the GAC Visual Studio doesn't copy the referenced assembly to your project's output directory by default.
In both cases you can change the behavior by changing the "Copy Local" reference property.
IMHO, it's a nifty feature of the build environment. In the unmanaged world it's up to you to keep track of your dependencies' dependencies (usually through pre or post build events).