File reference is when you add reference to a dll file. This is what you do
when you have to use a 3rd party dll.
The project reference is when you load a project into your solution and then
add reference to it. Rather than adding a reference to its output dll file.
Project reference gives you the luxury of tracing through the code of
methods you call from the other project.
The project reference helps to debug some issue because you can see why some
methods from the second project don’t return expected outputs whereas in a
file (dl) reference your debugging ends at the object browser (you can only
see the method definition).
So if you are referring to one of your own projects (e.g. DatabaseManager
Project) from another project (e.g. Inventory System) it will always be
helpful to use project reference than file reference.