This project has moved and is read-only. For the latest updates, please go here.

BizArk.Core - Size of library

Mar 7, 2016 at 7:30 AM
I love the library conceptually. It is like Guava for .NET.

However, I'm a little surprised BizArk.Core weighs in at 200KB. It's not necessarily a problem for the functionality it delivers, but it is as large as more complicated projects like AutoFac. Also, for example Command Line Parser Library comes in at 50KB.

Is it possible to make it smaller or split the project into smaller chunks?

Mar 7, 2016 at 4:48 PM
We are in the process of moving BizArk v3 to GitHub. This new version does split out the command-line parsing into it's own project and I have removed several features that are no longer necessary (either because the language has improved or there are now better libraries out there that accomplish the same thing).

I haven't looked at the new dll size, but it's probably a bit smaller now. Out of curiosity, what are you doing that it matters what the size is? I'm always interested in what people are using BizArk for, especially if it provides insight into how to make BizArk better.

Mar 7, 2016 at 5:41 PM
Thanks for the quick reply. Looking forward to the new build!

As for why the size of the library matters - it's nothing that matters today. However, I'm working on my 'core' library to take care of some cross-cutting concerns (configuration, validation, authentication) and would like it to be as minimal as possible. I was just in the process of deciding whether to just build just what I need vs bringing in BizArk.
Mar 8, 2016 at 4:07 AM
I just cleaned up a couple more things and the size for BizArk.Core.dll is now down to 84KB and BizArk.ConsoleApp.dll (the command-line parser) is 29KB.

One of the things that I removed from BizArk.Core is the Mime.Types file which is 54KB. This file is used to find mime types and is now just an external file. As long as it is in the same directory as BizArk.Core.dll, it should still work. However, if you don't use the MimeTypes class, or if the Windows registry is good enough for you, then you can delete the file and save the space.

The other thing I removed was the WebHelper class. This was a wrapper around the HttpWebRequest object that is easier to use than HttpWebRequest, but still supported all of the things that HttpWebRequest supported such as setting the timeout and reporting progress. However, there are some other libraries that have come out that look pretty good, so I don't think it is needed anymore.

The URL for the latest source is now at It's still under development and so things can still change (possibly drastically, such as deleting the WebHelper library :) ), however, feel free to try it out if you want.

Also, if you want to add some features, feel free to branch the project and submit a pull request. Feel free to contact me directly if you want to discuss your changes before you put any significant effort into them. I'm not familiar enough with GitHub to know if there is a direct contact link or not, but I am fairly confident there is on CodePlex.