public static void RegisterBuildProvider(string extension, Type providerType) { if (String.IsNullOrEmpty(extension)) { throw new ArgumentException("The string parameter 'extension' cannot be null or empty.", "extension"); } if (providerType == null) { throw new ArgumentNullException("providerType"); } if (!typeof(BuildProvider).IsAssignableFrom(providerType)) { throw new ArgumentException("The parameter 'providerType' is invalid", "providerType"); } BuildManager.AssertPreStartMethodsRunning(); if (registeredBuildProviderTypes == null) { registeredBuildProviderTypes = new Dictionary <string, Type> (StringComparer.OrdinalIgnoreCase); } registeredBuildProviderTypes [extension] = providerType; }