SPHealthAnalyzer.UnregisterRules Method

Removes all the rules in an assembly from the SharePoint Health Analyzer rules list for the local farm.

Namespace:  Microsoft.SharePoint.Administration.Health
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

public static IDictionary<Type, Exception> UnregisterRules(
	Assembly assembly
)

Parameters

assembly
Type: System.Reflection.Assembly

An assembly that contains rules to delete. SharePoint Health Analyzer rules are classes derived from the SPHealthAnalysisRule class.

Return Value

Type: System.Collections.Generic.IDictionary<Type, Exception>
A list of types that could not be removed and the exceptions that were thrown when unregistration was attempted.

The following example shows how to call the UnregisterRules method in the FeatureDeactivating method of a class derived from the SPFeatureReceiver class. The example assumes that the feature receiver is in the same assembly as the rules that are being unregistered.

public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
    Assembly a = Assembly.GetExecutingAssembly();
    IDictionary<Type, Exception> exceptions = SPHealthAnalyzer.UnregisterRules(a);

    if (exceptions != null)
    {
        string logEntry = a.FullName;
        if (exceptions.Count == 0)
        {
            logEntry += " All rules were unregistered.";
        }
        else
        {
            foreach (KeyValuePair<Type, Exception> pair in exceptions)
            {
                logEntry += string.Format(" Unregistration failed for type {0}. {1}",
                                          pair.Key, pair.Value.Message);
            }
        }
        System.Diagnostics.Trace.WriteLine(logEntry);
    }
}
Show: