As part of the Roslyn CTP in October 2011 we’ve published the core compiler and services binaries as a NuGet package:
Right now the Roslyn package adds references to the six core assemblies:
I’d like to gather suggestions and other feedback about this package. How can we improve?
The main piece of feedback we’ve heard so far is more fine-grained definition of what layers are needed:
Hence it would probably make sense to split the main package into several dependent packages, but then it gets a little complicated. We’d have to publish 8 packages and then the consumer could pick one “top” package which would then pull down all the dependencies it needs and nothing else):
It looks like we’re not the first to ask these questions:
The consensus on this one seems to be that fine-granular is OK and as long as we publish updates to all subpackages simultaneously there shouldn’t be a problem.
Your feedback and ideas about this issue and other suggestions are welcome!
What exactly is saved by splitting into the dlls? A few hundred kilobytes of disk space in some obscure scenarios? Just keep it simple and put everything in a single DLL. You're always going to be shipping them together anyways.
Where is the benefit of splitting them? Does .net really perform better when there's less meta-data to scan thru at run time or something?
The extra complexity can only cause trouble.
I could see why people might want to break each compiler up but if you want the services you get the whole enchilada. So maybe: