public void RegisterClientComponent(string id, string name, string version, SoftwareComponentCategory category)
        {
            Contract.Requires(id != null);

            mainComponentSet |= category == SoftwareComponentCategory.MAIN;

            var clientComponents = InitParameters["clientComponents"].Value<JArray>();

            var component = new JObject();
            component.Add("id", "dotnet." + id.ToLower());
            component.Add("name", name);
            component.Add("version", version);
            component.Add("category", category.ToString().ToUpper());
            clientComponents.Add(component);
        }
        public void RegisterClientComponent(Assembly assembly, string humanReadableName, SoftwareComponentCategory category)
        {
            Contract.Requires(assembly != null);
            Contract.Requires(humanReadableName != null);
            if (assembly == null)
            {
                return;
            }

            var name = assembly.GetName();
            RegisterClientComponent(name.Name, humanReadableName, name.Version.ToString(), category);
        }