<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="c:\program files (x86)\microsoft visual studio\2017\community\team tools\static analysis tools\fxcop\Xml\CodeAnalysisReport.xsl"?>
<FxCopReport Version="15.0">
 <Targets>
  <Target Name="V:\2.5.2.319 SP11\Dlls\MQCENCORE\bin\Release\MqCenCore.dll">
   <Modules>
    <Module Name="mqcencore.dll">
     <Namespaces>
      <Namespace Name="MqCenCore">
       <Types>
        <Type Name="BaseWarrantyInfoSeeker" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#.ctor(MqCenCore.ImportRule)" Kind="Method" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="DoNotCallOverridableMethodsInConstructors" Category="Microsoft.Usage" CheckId="CA2214" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalWarning" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="BaseWarrantyInfoSeeker.cs" Line="28">'BaseWarrantyInfoSeeker.BaseWarrantyInfoSeeker(ImportRule)' contains a call chain that results in a call to a virtual method defined by the class. Review the following call stack for unintended consequences: &#xD;&#xA;&#xD;&#xA;BaseWarrantyInfoSeeker..ctor(ImportRule)&#xD;&#xA;BaseWarrantyInfoSeeker.get_BASE_URL():String</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="ConditionExpression" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#MqCenInt.IMqCondExpression.Parent" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenInt.IMqCondExpression.get_Parent()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="ConditionExpression.cs" Line="832">Make 'ConditionExpression' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IMqCondExpression.Parent.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
            <Accessor Name="#MqCenInt.IMqCondExpression.set_Parent(System.Int32)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="ConditionExpression.cs" Line="836">Make 'ConditionExpression' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IMqCondExpression.Parent.set(int)' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
         </Members>
        </Type>
        <Type Name="DtsField_Log" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#MoveToFileIfNeeded(MqCenCore.DtsRecord)" Kind="Method" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="Do not dispose objects multiple times" Category="Microsoft.Usage" CheckId="CA2202" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="DependsOnFix">
             <Issue Certainty="75" Level="Warning" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="DtsField_Log.cs" Line="66">Object 'fs' can be disposed more than once in method 'DtsField_Log.MoveToFileIfNeeded(DtsRecord)'. To avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.: Lines: 66</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="DtsRecordEnumerator" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#System.Collections.IEnumerable.GetEnumerator()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Messages>
            <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="DtsRecordEnumerator.cs" Line="29">Make 'DtsRecordEnumerator' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IEnumerable.GetEnumerator()' and is visible to derived classes.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#System.Collections.IEnumerator.Current" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#System.Collections.IEnumerator.get_Current()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="DtsRecordEnumerator.cs" Line="38">Make 'DtsRecordEnumerator' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IEnumerator.Current.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
          <Member Name="#System.Collections.IEnumerator.MoveNext()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Messages>
            <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="DtsRecordEnumerator.cs" Line="49">Make 'DtsRecordEnumerator' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IEnumerator.MoveNext()' and is visible to derived classes.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#System.Collections.IEnumerator.Reset()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Messages>
            <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="DtsRecordEnumerator.cs" Line="56">Make 'DtsRecordEnumerator' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IEnumerator.Reset()' and is visible to derived classes.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="DtsRecordEvents" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#Finalize()" Kind="Method" Static="False" Accessibility="Family" ExternallyVisible="True">
           <Messages>
            <Message TypeName="RemoveEmptyFinalizers" Category="Microsoft.Performance" CheckId="CA1821" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="DtsRecordEvents.cs" Line="55">'DtsRecordEvents' implements a finalizer that only calls conditionally emitted methods or the base type finalizer. Remove the finalizer or ensure that it is only conditionally compiled into the assembly. If this violation occurs against a finalizer that is entirely wrapped in a conditionally-emitted block of code, suppress this message.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="EMailTemplates" Kind="Class" Accessibility="Assembly" ExternallyVisible="False">
         <Members>
          <Member Name="#.ctor()" Kind="Method" Static="False" Accessibility="Assembly" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="ExcludedInSource" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking" LastSeen="0001-01-01 00:00:00Z" />
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="ListLayout" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#MqCenCore.IVNSystemObject.Field_ObjectID" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Field_ObjectID()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="ListLayout.cs" Line="158">Make 'ListLayout' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Field_ObjectID.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
          <Member Name="#MqCenCore.IVNSystemObject.Table" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Table()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="ListLayout.cs" Line="156">Make 'ListLayout' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Table.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
         </Members>
        </Type>
        <Type Name="ListSort" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#MqCenCore.IVNSystemObject.Field_ObjectID" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Field_ObjectID()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="ListSort.cs" Line="26">Make 'ListSort' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Field_ObjectID.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
          <Member Name="#MqCenCore.IVNSystemObject.Table" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Table()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="ListSort.cs" Line="25">Make 'ListSort' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Table.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
         </Members>
        </Type>
        <Type Name="OrganizationalUnitCollection" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#CreateMappings_LocationFromOU_FromExcelFile(System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="Do not dispose objects multiple times" Category="Microsoft.Usage" CheckId="CA2202" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="DependsOnFix">
             <Issue Certainty="75" Level="Warning" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="OrganizationalUnitCollection.cs" Line="337">Object 'stream' can be disposed more than once in method 'OrganizationalUnitCollection.CreateMappings_LocationFromOU_FromExcelFile(string)'. To avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.: Lines: 337</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="Report" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#MqCenCore.IVNSystemObject.Field_ObjectID" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Field_ObjectID()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="Report.cs" Line="95">Make 'Report' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Field_ObjectID.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
          <Member Name="#MqCenCore.IVNSystemObject.Table" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Table()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="Report.cs" Line="93">Make 'Report' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Table.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
         </Members>
        </Type>
        <Type Name="VNDataTableToXML" Kind="Class" Accessibility="Assembly" ExternallyVisible="False">
         <Messages>
          <Message TypeName="TypesThatOwnDisposableFieldsShouldBeDisposable" Category="Microsoft.Design" CheckId="CA1001" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
           <Issue Name="NonBreaking" Certainty="95" Level="CriticalError">Implement IDisposable on 'VNDataTableToXML' because it creates members of the following IDisposable types: 'StreamReader'.</Issue>
          </Message>
         </Messages>
        </Type>
        <Type Name="VNExport" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Messages>
          <Message TypeName="TypesThatOwnDisposableFieldsShouldBeDisposable" Category="Microsoft.Design" CheckId="CA1001" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="DependsOnFix">
           <Issue Name="DependsOnFix" Certainty="95" Level="CriticalError">Implement IDisposable on 'VNExport' because it creates members of the following IDisposable types: 'DS2XL'. If 'VNExport' has previously shipped, adding new members that implement IDisposable to this type is considered a breaking change to existing consumers.</Issue>
          </Message>
         </Messages>
        </Type>
        <Type Name="VNLocationCollection" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#Import(System.String,System.Int32)" Kind="Method" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="Do not dispose objects multiple times" Category="Microsoft.Usage" CheckId="CA2202" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="DependsOnFix">
             <Issue Certainty="75" Level="Warning" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="VNLocationCollection.cs" Line="634">Object 'stream' can be disposed more than once in method 'VNLocationCollection.Import(string, int)'. To avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.: Lines: 634</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="VNQuery" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#MqCenCore.IVNSystemObject.Field_ObjectID" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Field_ObjectID()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="VNQuery.cs" Line="139">Make 'VNQuery' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Field_ObjectID.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
          <Member Name="#MqCenCore.IVNSystemObject.Table" Kind="Property" Static="False" Accessibility="Private" ExternallyVisible="True">
           <Accessors>
            <Accessor Name="#MqCenCore.IVNSystemObject.get_Table()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="True">
             <Messages>
              <Message TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033" Status="Active" Created="2025-07-03 19:42:47Z" FixCategory="NonBreaking">
               <Issue Certainty="95" Level="Error" Path="V:\2.5.2.319 SP11\Dlls\MQCENCORE" File="VNQuery.cs" Line="137">Make 'VNQuery' sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of 'IVNSystemObject.Table.get()' and is visible to derived classes.</Issue>
              </Message>
             </Messages>
            </Accessor>
           </Accessors>
          </Member>
         </Members>
        </Type>
       </Types>
      </Namespace>
     </Namespaces>
    </Module>
   </Modules>
  </Target>
 </Targets>
 <Rules>
  <Rule TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811">
   <Name>Avoid uncalled private code</Name>
   <Description>There is uncalled code that is not externally visible and is not a known runtime entry point. If this violation fires in error, please send a problem report to the Visual Studio Code Analysis team.</Description>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182264.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="performancerules.dll" Version="15.0.0.0" />
  </Rule>
  <Rule TypeName="Do not dispose objects multiple times" Category="Microsoft.Usage" CheckId="CA2202">
   <Name>Do not dispose objects multiple times</Name>
   <Description>A correctly implemented Dispose method can be called multiple times without throwing an exception. However, this is not guaranteed and to avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.</Description>
   <Resolution Name="Default">Object {0} can be disposed more than once in method {1}. To avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.: Lines: 634</Resolution>
   <Owner>RuleOwner</Owner>
   <Url>http://msdn.microsoft.com/library/ms182334.aspx</Url>
   <Email />
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="dataflowrules.dll" Version="15.0.0.0" />
  </Rule>
  <Rule TypeName="DoNotCallOverridableMethodsInConstructors" Category="Microsoft.Usage" CheckId="CA2214">
   <Name>Do not call overridable methods in constructors</Name>
   <Description>Virtual methods defined on the class should not be called from constructors. If a derived class has overridden the method, the derived class version will be called (before the derived class constructor is called).</Description>
   <Resolution Name="Default">{0} contains a call chain that results in a call to a virtual method defined by the class. Review the following call stack for unintended consequences: {1}</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182331.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">CriticalWarning</MessageLevel>
   <File Name="usagerules.dll" Version="15.0.0.0" />
  </Rule>
  <Rule TypeName="InterfaceMethodsShouldBeCallableByChildTypes" Category="Microsoft.Design" CheckId="CA1033">
   <Name>Interface methods should be callable by child types</Name>
   <Description>Explicit method implementations are defined with private accessibility. Classes that derive from classes with explicit method implementations and choose to re-declare them on the class will not be able to call into the base class implementation unless the base class has provided an alternate method with appropriate accessibility. When overriding a base class method that has been hidden by explicit interface implementation, in order to call into the base class implementation, a derived class must cast the base pointer to the relevant interface. When calling through this reference, however, the derived class implementation will actually be invoked, resulting in recursion and an eventual stack overflow.</Description>
   <Resolution Name="Default">Make {0} sealed (a breaking change if this class has previously shipped), implement the method non-explicitly, or implement a new method that exposes the functionality of {1} and is visible to derived classes.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182153.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="designrules.dll" Version="15.0.0.0" />
  </Rule>
  <Rule TypeName="RemoveEmptyFinalizers" Category="Microsoft.Performance" CheckId="CA1821">
   <Name>Remove empty finalizers</Name>
   <Description>Finalizers should be avoided where possible, to avoid the additional performance overhead involved in tracking object lifetime.</Description>
   <Resolution Name="Default">{0} implements a finalizer that only calls conditionally emitted methods or the base type finalizer. Remove the finalizer or ensure that it is only conditionally compiled into the assembly. If this violation occurs against a finalizer that is entirely wrapped in a conditionally-emitted block of code, suppress this message.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/bb264476.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="performancerules.dll" Version="15.0.0.0" />
  </Rule>
  <Rule TypeName="TypesThatOwnDisposableFieldsShouldBeDisposable" Category="Microsoft.Design" CheckId="CA1001">
   <Name>Types that own disposable fields should be disposable</Name>
   <Description>Types that declare disposable members should also implement IDisposable. If the type does not own any unmanaged resources, do not implement a finalizer on it.</Description>
   <Resolution Name="DependsOnFix">Implement IDisposable on {0} because it creates members of the following IDisposable types: {1}. If {0} has previously shipped, adding new members that implement IDisposable to this type is considered a breaking change to existing consumers.</Resolution>
   <Resolution Name="NonBreaking">Implement IDisposable on {0} because it creates members of the following IDisposable types: {1}.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182172.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">CriticalError</MessageLevel>
   <File Name="designrules.dll" Version="15.0.0.0" />
  </Rule>
 </Rules>
 <Localized>
  <String Key="Category">Category</String>
  <String Key="Certainty">Certainty</String>
  <String Key="CollapseAll">Collapse All</String>
  <String Key="CheckId">Check Id</String>
  <String Key="Error">Error</String>
  <String Key="Errors">error(s)</String>
  <String Key="ExpandAll">Expand All</String>
  <String Key="Help">Help</String>
  <String Key="Line">Line</String>
  <String Key="Messages">message(s)</String>
  <String Key="LocationNotStoredInPdb">[Location not stored in Pdb]</String>
  <String Key="Project">Project</String>
  <String Key="Resolution">Resolution</String>
  <String Key="Rule">Rule</String>
  <String Key="RuleFile">Rule File</String>
  <String Key="RuleDescription">Rule Description</String>
  <String Key="Source">Source</String>
  <String Key="Status">Status</String>
  <String Key="Target">Target</String>
  <String Key="Warning">Warning</String>
  <String Key="Warnings">warning(s)</String>
  <String Key="ReportTitle">Code Analysis Report</String>
 </Localized>
</FxCopReport>
