By convention a project has one primary target that it is responsible for producing, although that can be multiple related files. e.g. A MyLib.csproj
may produce a MyLib.dll
with supporting MyLib.pdb
and MyLib.dll.config
files. In general, files of certain known file extensions that match the name of the project target are associated together.
A ProjectReference
will bring in the primary target assembly of the referenced project, files directly associated with the target assembly (e.g. the .pdb and .config), and one depth of assemblies (and their associated files) that are linked to by the primary target assembly.
If you have created a project with 'multiple outputs' then you will also have to create the support to reference the 'multiple outputs'.