I have somes difficulties to include the dll that I am creating to a project.
Here is the situation :
I put the A.dll (from the bin/Release) of the A.dll project, to the ProjectWPF root folder. Then I add new reference to the copyied dll.
When doing that, the execution fails, saying that some dlls are missing (B & C dll). The thing is that it only works when I am installing B & D dll from the NuGet in the ProjectWPF. And, of course, I don't want to do that each time I am including A.dll to a project.
I think that there must be a way to simply include a dll (which works with other dlls), by simply adding THAT dll, and not also the other.
Hope you understand my problem. Thank, and waiting for your help.
LocalCopy is already true on the reference
I mostly use 3 ways to add references. All are available as context menu options to the "dependencies" node for your project in the solution explorer:
Put Project A and ProjectWPF in the same solution, and add a project reference from ProjectWPF to Project A. This should automatically include all transitive dependencies.
If Project A for some reason need to be in another solution/repository you can still deploy it from a local nuget server. This require a bit of work to setup such a server, and likely a continuous integration server to build and deploy the packages. But it is feasible for even fairly small companies. You also need to add your nuget server as a package source in visual studio.
It is also possible to use a simple folder as a package destination/source. But I would not expect this to work well if you have more than a few packages.
This method should also include all transitive dependencies, but I have found it not quite as reliable as project references.
This is mostly useful for third party dlls that rarely change. Add the dll, and all of its dependencies, to a folder as part of your repository, and add Assembly references to each. For native dlls you can add them as simple content files with the "copy to output directory" property. Note that this makes updates a pain, so is more of a last resort option.
With this option you need to manage any transitive dependencies yourself.