I have a smallish solution, with about under twenty projects. The solution used to also contain about six source projects written by a third party service provider, ACME. Now, finally, this other party is supplying us only with a handful of DLLs. I used to just included their source, one project per DLL, in the solution, and so I am looking for a neat way to include all these assemblies in the solution, so they can be referenced from the many projects that need them.
My immediately apparent options are:
- Create an
AcmeAssembly
project, add all DLLs as project items set to copy to output. - Create an
AcmeAssembly
solution folder. Quicker and simpler than a ‘binary-only’ source project, but solution folders have the very, very large drawback of having no means of grouping the files without a solution file, i.e. outside of VS. - Create a NuGet package that includes all the required binaries. Then at least we also have a partly ‘phycical’ grouping in the
packages
folders. My problem here is I have never written a NuGet package, but I am not asking how to here. I am asking about three candidate solutions, and more will be welcome, and if NuGet wins, I get to learn to write a package.
Source: .net