Best Practice: MP should not reference the Backward Compatibility MP

 

What does this best practice check for?

The Backward Compatibility MP is an MP that is referenced by all management packs that were converted from MOM 2005 using MPConvert.exe. The best practice is that MPs should not be converted, and as such, should not reference the Backward Compatibility MP.

Why is it important to follow this best practice? What is the impact of not following this best practice?

MP conversion is not a supported practice. The conversion process creates poor MPs that result in very noisy MPs that do not have any monitoring or reporting, and are very difficult to tune. The Operations Manager team will not support shipping a converted management pack.

How do I fix this in my MP?

Ensure that your MP is not a conversion; if it is ,you will need to rewrite your MP natively. If your MP is not a conversion, you should not need to reference the Backward Compatibility MP. Try deleting the reference to the Backwards Compatibility MP (highlighted in red below) from your References section, and seeing if your MP still works. If it does not, you have a converted MP which cannot be shipped.

 Using XML:

BAD

   < References >

     < Reference Alias = " DataWarehouseLibrary" >

       < ID > Microsoft.SystemCenter.DataWarehouse.Library </ ID >

       < Version > 6.0.5000.0 </ Version >

       < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

     </ Reference >

     < Reference Alias = " SystemCenterLibrary" >

       < ID > Microsoft.SystemCenter.Library </ ID >

       < Version > 6.0.5000.0 </ Version >

       < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

     </ Reference >

     < Reference Alias = " WindowsLibrary" >

       < ID > Microsoft.Windows.Library </ ID >

       < Version > 6.0.6278.0 </ Version >

       < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

     </ Reference >

     < Reference Alias = " HealthLibrary" >

       < ID > System.Health.Library </ ID >

       < Version > 6.0.5000.0 </ Version >

       < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

     </ Reference >

     < Reference Alias = " SystemLibrary" >

       < ID > System.Library </ ID >

       < Version > 6.0.5000.0 </ Version >

       < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

      </ Reference >

      < Reference Alias = " MomBackwardCompatibility" >

        < ID > System.Mom.BackwardCompatibility.Library </ ID >

        < Version > 6.0.5000.16 </ Version >

        < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

      </ Reference >

     < Reference Alias = " PerformanceLibrary" >

       < ID > System.Performance.Library </ ID >

       < Version > 6.0.5000.0 </ Version >

       < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

     </ Reference >

     < Reference Alias = " SystemCenter" >

       < ID > Microsoft.SystemCenter.2007 </ ID >

       < Version > 6.0.5000.0 </ Version >

       < PublicKeyToken > 31bf3856ad364e35 </ PublicKeyToken >

     </ Reference >

   </ References >