I'm using EntLib 6.0 Transient Fault Handling Block (Topaz) and I have been pulling the dll's from NuGet. I am using Topaz, "Topaz - Windows Azure SQL Database integration" and "Topaz Declarative configuration support" packages. The problem
is that in Nuget the Declarative Config package has dependencies on .Data, .WindowsAzure.Storage, .Caching, and .ServiceBus packages so I get all these bloating my project. I call it bloat because I can go in and manually remove these extra packages (and project
references) and my project still builds and runs. This is okay I guess, but I'm worried when some else pulls the project from source control and the packages get pulled from NuGet the extra packages will come along too and that'll add confusion to next commit
that is done.
For now I have edited the NuGet packages.config files in my projects and this has stopped the extra packages being downloaded.
I'm not sure who looks after the NuGet packages but if this could be fixed, of if someone could tell me how I might be misguided on this that would be great.
As the name indicates the
Enterprise Library - Transient Fault Handling Application Block - Declarative configuration support
provides the ability to configure Topaz using the configuration file (and configuration tool). Baked into the configuration are specific settings for retry
policies for Azure Storage, ServiceBus, etc. That is why the dependencies exist.
The reason they are bundled together is probably partly historical; in the original Topaz everything was bundled together. It was probably decided that the effort to break out each retry policy into it's own assembly and Nuget package was decided to be too
high given the expected use of the package. Another factor might have been that for existing users of Topaz adding multiple packages might be seen as a negative. At least, that is my guess as to the motivations without any direct first hand knowledge.
Enterprise Library support engineer