﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="c:\vs\team tools\static analysis tools\fxcop\Xml\CodeAnalysisReport.xsl"?>
<FxCopReport Version="17.0">
 <Namespaces>
  <Namespace Name="VDOT.OnPublishingValidation">
   <Messages>
    <Message Id="VDOT" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
     <Issue Name="Namespace" Certainty="85" Level="Error">Correct the casing of 'VDOT' in namespace name 'VDOT.OnPublishingValidation' by changing it to 'Vdot'.</Issue>
    </Message>
   </Messages>
  </Namespace>
 </Namespaces>
 <Targets>
  <Target Name="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation\bin\VDOT.OnPublishingValidation.dll">
   <Modules>
    <Module Name="vdot.onpublishingvalidation.dll">
     <Messages>
      <Message TypeName="AssembliesShouldHaveValidStrongNames" Category="Microsoft.Design" CheckId="CA2210" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
       <Issue Name="NoStrongName" Certainty="95" Level="CriticalError">Sign 'VDOT.OnPublishingValidation.dll' with a strong name key.</Issue>
      </Message>
      <Message Id="VDOT" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
       <Issue Name="Assembly" Certainty="85" Level="Error">Correct the casing of 'VDOT' in assembly name 'VDOT.OnPublishingValidation.dll' by changing it to 'Vdot'.</Issue>
      </Message>
      <Message TypeName="MarkAssembliesWithClsCompliant" Category="Microsoft.Design" CheckId="CA1014" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
       <Issue Certainty="95" Level="Error">Mark 'VDOT.OnPublishingValidation.dll' with CLSCompliant(true) because it exposes externally visible types.</Issue>
      </Message>
     </Messages>
     <Namespaces>
      <Namespace Name="VDOT.OnPublishingValidation">
       <Types>
        <Type Name="Helper" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#GetContext(System.String)" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="15">In method 'Helper.GetContext(string)', call System.IDisposable.Dispose on object 'context' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="38">Modify 'Helper.GetContext(string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="PWA" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="MemberParameter" Certainty="85" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="14">In member 'Helper.GetContext(string)', correct the casing of 'PWA' in parameter name 'sPWAUrl' by changing it to 'Pwa'.</Issue>
            </Message>
            <Message Id="s" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="MemberParameter" Certainty="75" Level="CriticalWarning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="14">In method 'Helper.GetContext(string)', correct the spelling of 's' in parameter name 'sPWAUrl' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
            <Message Id="0#" TypeName="UriParametersShouldNotBeStrings" Category="Microsoft.Design" CheckId="CA1054" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="60" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="14">Change the type of parameter 'sPWAUrl' of method 'Helper.GetContext(string)' from string to System.Uri, or provide an overload of 'Helper.GetContext(string)', that allows 'sPWAUrl' to be passed as a System.Uri object.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetContextRequest()" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="UsePropertiesWhereAppropriate" Category="Microsoft.Design" CheckId="CA1024" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="50" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="62">Change 'Helper.GetContextRequest()' to a property if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetOAuthContext(System.String)" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="53">Modify 'Helper.GetOAuthContext(string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="PWA" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="MemberParameter" Certainty="85" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="46">In member 'Helper.GetOAuthContext(string)', correct the casing of 'PWA' in parameter name 'sPWAUrl' by changing it to 'Pwa'.</Issue>
            </Message>
            <Message Id="Auth" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="75" Level="CriticalWarning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="46">Correct the spelling of 'Auth' in member name 'Helper.GetOAuthContext(string)' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
            <Message Id="s" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="MemberParameter" Certainty="75" Level="CriticalWarning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="46">In method 'Helper.GetOAuthContext(string)', correct the spelling of 's' in parameter name 'sPWAUrl' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
            <Message Id="sPWAUrl" TypeName="ReviewUnusedParameters" Category="Microsoft.Usage" CheckId="CA1801" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="46">Parameter 'sPWAUrl' of 'Helper.GetOAuthContext(string)' is never used. Remove the parameter or use it in the method body.</Issue>
            </Message>
            <Message Id="0#" TypeName="UriParametersShouldNotBeStrings" Category="Microsoft.Design" CheckId="CA1054" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="60" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="Helper.cs" Line="46">Change the type of parameter 'sPWAUrl' of method 'Helper.GetOAuthContext(string)' from string to System.Uri, or provide an overload of 'Helper.GetOAuthContext(string)', that allows 'sPWAUrl' to be passed as a System.Uri object.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="OnProjectPublished" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#GetPWAProjectName(System.Guid)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="OnProjectPublished.svc.cs" Line="96">Modify 'OnProjectPublished.GetPWAProjectName(Guid)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="OnProjectPublished.svc.cs" Line="77">The 'this' parameter (or 'Me' in Visual Basic) of 'OnProjectPublished.GetPWAProjectName(Guid)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#OnProjectChangedRemote(Microsoft.Office.Project.Server.Library.PSContextInfo,System.Guid,Microsoft.Office.Project.Server.Events.ReportingPostProjectChangedEventArgs)" Kind="Method" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="OnProjectPublished.svc.cs" Line="116">In method 'OnProjectPublished.OnProjectChangedRemote(PSContextInfo, Guid, ReportingPostProjectChangedEventArgs)', call System.IDisposable.Dispose on object 'poolIpmSchedClient' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="OnProjectPublished.svc.cs" Line="165">Modify 'OnProjectPublished.OnProjectChangedRemote(PSContextInfo, Guid, ReportingPostProjectChangedEventArgs)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="ex" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="OnProjectPublished.svc.cs" Line="165">'OnProjectPublished.OnProjectChangedRemote(PSContextInfo, Guid, ReportingPostProjectChangedEventArgs)' declares a variable, 'ex', of type 'Exception', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="System.String.StartsWith(System.String)" TypeName="SpecifyStringComparison" Category="Microsoft.Globalization" CheckId="CA1307" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="OnProjectPublished.svc.cs" Line="129">Because the behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings, replace this call in 'OnProjectPublished.OnProjectChangedRemote(PSContextInfo, Guid, ReportingPostProjectChangedEventArgs)' with a call to 'string.StartsWith(string, StringComparison)'. If the result of 'string.StartsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
            </Message>
            <Message Id="2" TypeName="Validate arguments of public methods" Category="Microsoft.Design" CheckId="CA1062" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="OnProjectPublished.svc.cs" Line="122">In externally visible method 'OnProjectPublished.OnProjectChangedRemote(PSContextInfo, Guid, ReportingPostProjectChangedEventArgs)', validate parameter 'e' before using it.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="PublishingEvents" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Messages>
          <Message TypeName="AvoidExcessiveClassCoupling" Category="Microsoft.Maintainability" CheckId="CA1506" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
           <Issue Name="Type" Certainty="90" Level="Error">'PublishingEvents' is coupled with 101 different types from 16 different namespaces. Rewrite or refactor this class's methods to decrease its class coupling, or consider moving some of the class's methods to some of the other types it is tightly coupled with. A class coupling above 95 indicates poor maintainability, a class coupling between 95 and 80 indicates moderate maintainability, and a class coupling below 80 indicates good maintainability.</Issue>
          </Message>
         </Messages>
         <Members>
          <Member Name="#ActivityCodeRequiresApproval(System.String,System.Boolean,VDOT.OnPublishingValidation.PwaScheduleInfo)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="870">'PublishingEvents.ActivityCodeRequiresApproval(string, bool, PwaScheduleInfo)' appears to have no upstream public or protected callers.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="900">Modify 'PublishingEvents.ActivityCodeRequiresApproval(string, bool, PwaScheduleInfo)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="870">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.ActivityCodeRequiresApproval(string, bool, PwaScheduleInfo)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="System.String.EndsWith(System.String)" TypeName="SpecifyStringComparison" Category="Microsoft.Globalization" CheckId="CA1307" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="877">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.ActivityCodeRequiresApproval(string, bool, PwaScheduleInfo)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="887">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.ActivityCodeRequiresApproval(string, bool, PwaScheduleInfo)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#ActivityCodeRequiresStatusApproval(System.String,VDOT.OnPublishingValidation.PwaScheduleInfo)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="924">'PublishingEvents.ActivityCodeRequiresStatusApproval(string, PwaScheduleInfo)' appears to have no upstream public or protected callers.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="948">Modify 'PublishingEvents.ActivityCodeRequiresStatusApproval(string, PwaScheduleInfo)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="924">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.ActivityCodeRequiresStatusApproval(string, PwaScheduleInfo)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="System.String.EndsWith(System.String)" TypeName="SpecifyStringComparison" Category="Microsoft.Globalization" CheckId="CA1307" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="935">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.ActivityCodeRequiresStatusApproval(string, PwaScheduleInfo)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#BuildLogCSVString(System.Collections.Generic.List`1&lt;VDOT.OnPublishingValidation.PublishLogger&gt;,System.String,System.Boolean)" Kind="Method" Static="True" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="720">Modify 'PublishingEvents.BuildLogCSVString(List&lt;PublishLogger&gt;, string, bool)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="System.Convert.ToInt32(System.String)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternate" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="668">Because the behavior of 'Convert.ToInt32(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildLogCSVString(List&lt;PublishLogger&gt;, string, bool)' with a call to 'Convert.ToInt32(string, IFormatProvider)'. If the result of 'Convert.ToInt32(string, IFormatProvider)' will be based on input from the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternate" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="726">Because the behavior of 'Convert.ToInt32(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildLogCSVString(List&lt;PublishLogger&gt;, string, bool)' with a call to 'Convert.ToInt32(string, IFormatProvider)'. If the result of 'Convert.ToInt32(string, IFormatProvider)' will be based on input from the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
            <Message Id="System.DateTime.ToString" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="679">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildLogCSVString(List&lt;PublishLogger&gt;, string, bool)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="681">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildLogCSVString(List&lt;PublishLogger&gt;, string, bool)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="683">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildLogCSVString(List&lt;PublishLogger&gt;, string, bool)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="685">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildLogCSVString(List&lt;PublishLogger&gt;, string, bool)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#BuildPublishLog(Microsoft.ProjectServer.Client.ProjectContext,System.String,System.Collections.Generic.List`1&lt;VDOT.OnPublishingValidation.PublishLogger&gt;&amp;,System.String)" Kind="Method" Static="True" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidExcessiveClassCoupling" Category="Microsoft.Maintainability" CheckId="CA1506" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Method" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="578">'PublishingEvents.BuildPublishLog(ProjectContext, string, ref List&lt;PublishLogger&gt;, string)' is coupled with 36 different types from 11 different namespaces. Rewrite or refactor the method to decrease its class coupling, or consider moving the method to one of the other types it is tightly coupled with. A class coupling above 40 indicates poor maintainability, a class coupling between 40 and 30 indicates moderate maintainability, and a class coupling below 30 indicates good maintainability.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="645">Modify 'PublishingEvents.BuildPublishLog(ProjectContext, string, ref List&lt;PublishLogger&gt;, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="System.Convert.ToInt32(System.String)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternate" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="588">Because the behavior of 'Convert.ToInt32(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildPublishLog(ProjectContext, string, ref List&lt;PublishLogger&gt;, string)' with a call to 'Convert.ToInt32(string, IFormatProvider)'. If the result of 'Convert.ToInt32(string, IFormatProvider)' will be based on input from the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternate" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="651">Because the behavior of 'Convert.ToInt32(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.BuildPublishLog(ProjectContext, string, ref List&lt;PublishLogger&gt;, string)' with a call to 'Convert.ToInt32(string, IFormatProvider)'. If the result of 'Convert.ToInt32(string, IFormatProvider)' will be based on input from the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#CheckForBaselineUpdates(Microsoft.ProjectServer.Client.PublishedTaskCollection,Microsoft.ProjectServer.Client.DraftTaskCollection,VDOT.OnPublishingValidation.PwaScheduleInfo,System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="981">In method 'PublishingEvents.CheckForBaselineUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)', call System.IDisposable.Dispose on object 'poolIpmSchedClient' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1080">Modify 'PublishingEvents.CheckForBaselineUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="974">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.CheckForBaselineUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#CheckForRevisionUpdates(Microsoft.ProjectServer.Client.PublishedTaskCollection,Microsoft.ProjectServer.Client.DraftTaskCollection,VDOT.OnPublishingValidation.PwaScheduleInfo,System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1232">In method 'PublishingEvents.CheckForRevisionUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)', call System.IDisposable.Dispose on object 'ppsc' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1301">Modify 'PublishingEvents.CheckForRevisionUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1228">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.CheckForRevisionUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="System.DateTime.ToString" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1259">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.CheckForRevisionUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1260">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.CheckForRevisionUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#CheckForStatusUpdates(Microsoft.ProjectServer.Client.PublishedTaskCollection,Microsoft.ProjectServer.Client.DraftTaskCollection,VDOT.OnPublishingValidation.PwaScheduleInfo,System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1368">Modify 'PublishingEvents.CheckForStatusUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1334">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.CheckForStatusUpdates(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#CheckRUMSTriggerTasks(Microsoft.ProjectServer.Client.PublishedTaskCollection,Microsoft.ProjectServer.Client.DraftTaskCollection,VDOT.OnPublishingValidation.PwaScheduleInfo,System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1104">In method 'PublishingEvents.CheckRUMSTriggerTasks(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)', call System.IDisposable.Dispose on object 'ppsc' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1198">Modify 'PublishingEvents.CheckRUMSTriggerTasks(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1100">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.CheckRUMSTriggerTasks(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#CreateRevision(System.String,VDOT.OnPublishingValidation.PwaScheduleInfo,System.String,Microsoft.Office.Project.Server.Events.ProjectPrePublishEventArgs,VDOT.OnPublishingValidation.poolipmschws.PoolIPMSchServiceClient,System.Collections.Generic.List`1&lt;VDOT.OnPublishingValidation.poolipmschws.BackupDurationTask&gt;)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1430">Modify 'PublishingEvents.CreateRevision(string, PwaScheduleInfo, string, ProjectPrePublishEventArgs, PoolIPMSchServiceClient, List&lt;BackupDurationTask&gt;)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1396">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.CreateRevision(string, PwaScheduleInfo, string, ProjectPrePublishEventArgs, PoolIPMSchServiceClient, List&lt;BackupDurationTask&gt;)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#CreateStatusRevision(System.String,VDOT.OnPublishingValidation.PwaScheduleInfo,Microsoft.Office.Project.Server.Events.ProjectPrePublishEventArgs,VDOT.OnPublishingValidation.poolipmschws.PoolIPMSchServiceClient)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1471">Modify 'PublishingEvents.CreateStatusRevision(string, PwaScheduleInfo, ProjectPrePublishEventArgs, PoolIPMSchServiceClient)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1454">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.CreateStatusRevision(string, PwaScheduleInfo, ProjectPrePublishEventArgs, PoolIPMSchServiceClient)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#DoChangesRequireApproval(Microsoft.ProjectServer.Client.ProjectContext,Microsoft.ProjectServer.Client.PublishedProject,System.String,System.Collections.Generic.List`1&lt;VDOT.OnPublishingValidation.poolipmschws.BackupDurationTask&gt;,System.Boolean)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1514">Modify 'PublishingEvents.DoChangesRequireApproval(ProjectContext, PublishedProject, string, List&lt;BackupDurationTask&gt;, bool)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetCurrentUser(Microsoft.Office.Project.Server.Library.PSContextInfo)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="564">Modify 'PublishingEvents.GetCurrentUser(PSContextInfo)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="550">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.GetCurrentUser(PSContextInfo)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="System.String.IndexOf(System.String)" TypeName="SpecifyStringComparison" Category="Microsoft.Globalization" CheckId="CA1307" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="557">Because the behavior of 'string.IndexOf(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.GetCurrentUser(PSContextInfo)' with a call to 'string.IndexOf(string, StringComparison)'. If the result of 'string.IndexOf(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="560">Because the behavior of 'string.IndexOf(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.GetCurrentUser(PSContextInfo)' with a call to 'string.IndexOf(string, StringComparison)'. If the result of 'string.IndexOf(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetDraftProjectScheduleTasks(Microsoft.ProjectServer.Client.ProjectContext,System.String,System.Collections.Generic.List`1&lt;VDOT.OnPublishingValidation.poolipmschws.BackupDurationTask&gt;,Microsoft.ProjectServer.Client.PublishedProject,Microsoft.ProjectServer.Client.DraftTaskCollection&amp;,System.Boolean)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidExcessiveClassCoupling" Category="Microsoft.Maintainability" CheckId="CA1506" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Method" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1591">'PublishingEvents.GetDraftProjectScheduleTasks(ProjectContext, string, List&lt;BackupDurationTask&gt;, PublishedProject, ref DraftTaskCollection, bool)' is coupled with 38 different types from 12 different namespaces. Rewrite or refactor the method to decrease its class coupling, or consider moving the method to one of the other types it is tightly coupled with. A class coupling above 40 indicates poor maintainability, a class coupling between 40 and 30 indicates moderate maintainability, and a class coupling below 30 indicates good maintainability.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1682">Modify 'PublishingEvents.GetDraftProjectScheduleTasks(ProjectContext, string, List&lt;BackupDurationTask&gt;, PublishedProject, ref DraftTaskCollection, bool)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="bProjectLineFound" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1597">'PublishingEvents.GetDraftProjectScheduleTasks(ProjectContext, string, List&lt;BackupDurationTask&gt;, PublishedProject, ref DraftTaskCollection, bool)' declares a variable, 'bProjectLineFound', of type 'bool', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="pl" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1647">'PublishingEvents.GetDraftProjectScheduleTasks(ProjectContext, string, List&lt;BackupDurationTask&gt;, PublishedProject, ref DraftTaskCollection, bool)' declares a variable, 'pl', of type 'PublishLogger', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="bIsScopingComplete" TypeName="ReviewUnusedParameters" Category="Microsoft.Usage" CheckId="CA1801" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1591">Parameter 'bIsScopingComplete' of 'PublishingEvents.GetDraftProjectScheduleTasks(ProjectContext, string, List&lt;BackupDurationTask&gt;, PublishedProject, ref DraftTaskCollection, bool)' is never used. Remove the parameter or use it in the method body.</Issue>
            </Message>
            <Message Id="System.Convert.ToDecimal(System.String)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternate" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1657">Because the behavior of 'Convert.ToDecimal(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.GetDraftProjectScheduleTasks(ProjectContext, string, List&lt;BackupDurationTask&gt;, PublishedProject, ref DraftTaskCollection, bool)' with a call to 'Convert.ToDecimal(string, IFormatProvider)'. If the result of 'Convert.ToDecimal(string, IFormatProvider)' will be based on input from the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetMatchingDraftTask(System.String,VDOT.OnPublishingValidation.PwaScheduleInfo)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1812">'PublishingEvents.GetMatchingDraftTask(string, PwaScheduleInfo)' appears to have no upstream public or protected callers.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1826">Modify 'PublishingEvents.GetMatchingDraftTask(string, PwaScheduleInfo)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1812">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.GetMatchingDraftTask(string, PwaScheduleInfo)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetPublishedProjectScheduleTasks(Microsoft.ProjectServer.Client.ProjectContext,Microsoft.ProjectServer.Client.PublishedProject,Microsoft.ProjectServer.Client.DraftTaskCollection,System.String,VDOT.OnPublishingValidation.PwaScheduleInfo,System.Boolean)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1739">Modify 'PublishingEvents.GetPublishedProjectScheduleTasks(ProjectContext, PublishedProject, DraftTaskCollection, string, PwaScheduleInfo, bool)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="bIsScopingComplete" TypeName="ReviewUnusedParameters" Category="Microsoft.Usage" CheckId="CA1801" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1714">Parameter 'bIsScopingComplete' of 'PublishingEvents.GetPublishedProjectScheduleTasks(ProjectContext, PublishedProject, DraftTaskCollection, string, PwaScheduleInfo, bool)' is never used. Remove the parameter or use it in the method body.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetScopingActivities()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1851">'PublishingEvents.GetScopingActivities()' appears to have no upstream public or protected callers.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1864">Modify 'PublishingEvents.GetScopingActivities()' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1851">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.GetScopingActivities()' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#HasManualTasks(System.String,Microsoft.ProjectServer.Client.ProjectContext)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidExcessiveClassCoupling" Category="Microsoft.Maintainability" CheckId="CA1506" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Method" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="393">'PublishingEvents.HasManualTasks(string, ProjectContext)' is coupled with 35 different types from 12 different namespaces. Rewrite or refactor the method to decrease its class coupling, or consider moving the method to one of the other types it is tightly coupled with. A class coupling above 40 indicates poor maintainability, a class coupling between 40 and 30 indicates moderate maintainability, and a class coupling below 30 indicates good maintainability.</Issue>
            </Message>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="401">In method 'PublishingEvents.HasManualTasks(string, ProjectContext)', call System.IDisposable.Dispose on object 'poolIpmSchedClient' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="447">Modify 'PublishingEvents.HasManualTasks(string, ProjectContext)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="393">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.HasManualTasks(string, ProjectContext)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="pf" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="400">'PublishingEvents.HasManualTasks(string, ProjectContext)' declares a variable, 'pf', of type 'PWAFields', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="plog" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="398">'PublishingEvents.HasManualTasks(string, ProjectContext)' declares a variable, 'plog', of type 'PublishLogger', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="pubTasks" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="397">'PublishingEvents.HasManualTasks(string, ProjectContext)' declares a variable, 'pubTasks', of type 'PublishedTaskCollection', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#HasMultiResource(System.String,Microsoft.ProjectServer.Client.ProjectContext)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidExcessiveClassCoupling" Category="Microsoft.Maintainability" CheckId="CA1506" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Method" Certainty="90" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="469">'PublishingEvents.HasMultiResource(string, ProjectContext)' is coupled with 41 different types from 12 different namespaces. Rewrite or refactor the method to decrease its class coupling, or consider moving the method to one of the other types it is tightly coupled with. A class coupling above 40 indicates poor maintainability, a class coupling between 40 and 30 indicates moderate maintainability, and a class coupling below 30 indicates good maintainability.</Issue>
            </Message>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="477">In method 'PublishingEvents.HasMultiResource(string, ProjectContext)', call System.IDisposable.Dispose on object 'ppsc' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="539">Modify 'PublishingEvents.HasMultiResource(string, ProjectContext)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="469">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.HasMultiResource(string, ProjectContext)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="pubTasksCollection" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="493">'PublishingEvents.HasMultiResource(string, ProjectContext)' declares a variable, 'pubTasksCollection', of type 'IEnumerable&lt;PublishedTask&gt;', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="pwaScheduleInfo" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="474">'PublishingEvents.HasMultiResource(string, ProjectContext)' declares a variable, 'pwaScheduleInfo', of type 'PwaScheduleInfo', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="sActivityCode" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="475">'PublishingEvents.HasMultiResource(string, ProjectContext)' declares a variable, 'sActivityCode', of type 'string', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="tskAssign" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="509">'PublishingEvents.HasMultiResource(string, ProjectContext)' declares a variable, 'tskAssign', of type 'DraftAssignmentCollection', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="System.Convert.ToInt32(System.String)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternate" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="480">Because the behavior of 'Convert.ToInt32(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.HasMultiResource(string, ProjectContext)' with a call to 'Convert.ToInt32(string, IFormatProvider)'. If the result of 'Convert.ToInt32(string, IFormatProvider)' will be based on input from the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#InitializePwaScheduleInfo(VDOT.OnPublishingValidation.PwaScheduleInfo,System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1886">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.InitializePwaScheduleInfo(PwaScheduleInfo, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="sProjectName" TypeName="ReviewUnusedParameters" Category="Microsoft.Usage" CheckId="CA1801" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1886">Parameter 'sProjectName' of 'PublishingEvents.InitializePwaScheduleInfo(PwaScheduleInfo, string)' is never used. Remove the parameter or use it in the method body.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#IsPEOnly(System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1561">In method 'PublishingEvents.IsPEOnly(string)', call System.IDisposable.Dispose on object 'pims' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1557">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.IsPEOnly(string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message TypeName="RethrowToPreserveStackDetails" Category="Microsoft.Usage" CheckId="CA2200" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1571">'PublishingEvents.IsPEOnly(string)' rethrows a caught exception and specifies it explicitly as an argument. Use 'throw' without an argument instead, in order to preserve the stack location where the exception was initially raised.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#LoadCustomFields(Microsoft.ProjectServer.Client.ProjectContext,Microsoft.ProjectServer.Client.PublishedProject&amp;,System.String,System.Boolean&amp;,System.Boolean&amp;,System.String&amp;)" Kind="Method" Static="True" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1986">Modify 'PublishingEvents.LoadCustomFields(ProjectContext, ref PublishedProject, string, ref bool, ref bool, ref string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="System.String.ToUpper" TypeName="SpecifyCultureInfo" Category="Microsoft.Globalization" CheckId="CA1304" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1945">Because the behavior of 'string.ToUpper()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.LoadCustomFields(ProjectContext, ref PublishedProject, string, ref bool, ref bool, ref string)' with a call to 'string.ToUpper(CultureInfo)'. If the result of 'string.ToUpper(CultureInfo)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'CultureInfo' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1950">Because the behavior of 'string.ToUpper()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.LoadCustomFields(ProjectContext, ref PublishedProject, string, ref bool, ref bool, ref string)' with a call to 'string.ToUpper(CultureInfo)'. If the result of 'string.ToUpper(CultureInfo)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'CultureInfo' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#OnPublishingRemote(Microsoft.Office.Project.Server.Library.PSContextInfo,System.Guid,Microsoft.Office.Project.Server.Events.ProjectPrePublishEventArgs)" Kind="Method" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="AvoidExcessiveComplexity" Category="Microsoft.Maintainability" CheckId="CA1502" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="90" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="93">'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' has a cyclomatic complexity of 44. Rewrite or refactor the method to reduce complexity to 25.</Issue>
            </Message>
            <Message TypeName="AvoidExcessiveLocals" Category="Microsoft.Performance" CheckId="CA1809" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="Compiler" Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="93">'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' has 66 local variables, 35 of which were generated by the compiler. Refactor 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' so that it uses fewer than 64 local variables.</Issue>
            </Message>
            <Message TypeName="AvoidUnmaintainableCode" Category="Microsoft.Maintainability" CheckId="CA1505" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="Method" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="93">'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' has a maintainability index of 19. Rewrite or refactor the method to increase its maintainability index (MI). An MI below 10 indicates poor maintainability, an MI between 10 and 20 indicates moderate maintainability, and an MI above 20 indicates good maintainability.</Issue>
            </Message>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="106">In method 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)', call System.IDisposable.Dispose on object 'poolIpmSchedClient' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="347">Modify 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="bIsInPOL" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="104">'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' declares a variable, 'bIsInPOL', of type 'bool', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="plog" TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="176">'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' declares a variable, 'plog', of type 'List&lt;PublishLogger&gt;', which is never used or is only assigned to. Use this variable or remove it.</Issue>
            </Message>
            <Message Id="System.String.ToLower" TypeName="SpecifyCultureInfo" Category="Microsoft.Globalization" CheckId="CA1304" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="307">Because the behavior of 'string.ToLower()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' with a call to 'string.ToLower(CultureInfo)'. If the result of 'string.ToLower(CultureInfo)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'CultureInfo' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
            <Message Id="System.String.ToUpper" TypeName="SpecifyCultureInfo" Category="Microsoft.Globalization" CheckId="CA1304" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="182">Because the behavior of 'string.ToUpper()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' with a call to 'string.ToUpper(CultureInfo)'. If the result of 'string.ToUpper(CultureInfo)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'CultureInfo' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
            <Message Id="System.DateTime.ToString" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="384">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
            <Message Id="System.Int32.ToString" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="201">Because the behavior of 'int.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' with a call to 'int.ToString(IFormatProvider)'. If the result of 'int.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
            <Message Id="System.String.StartsWith(System.String)" TypeName="SpecifyStringComparison" Category="Microsoft.Globalization" CheckId="CA1307" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="129">Because the behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' with a call to 'string.StartsWith(string, StringComparison)'. If the result of 'string.StartsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="359">Because the behavior of 'string.StartsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)' with a call to 'string.StartsWith(string, StringComparison)'. If the result of 'string.StartsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
            </Message>
            <Message Id="2" TypeName="Validate arguments of public methods" Category="Microsoft.Design" CheckId="CA1062" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="95">In externally visible method 'PublishingEvents.OnPublishingRemote(PSContextInfo, Guid, ProjectPrePublishEventArgs)', validate parameter 'e' before using it.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#SetRequiredBaselines(System.String,System.Collections.Generic.List`1&lt;System.String&gt;)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2015">In method 'PublishingEvents.SetRequiredBaselines(string, List&lt;string&gt;)', call System.IDisposable.Dispose on object 'ppsc' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2028">Modify 'PublishingEvents.SetRequiredBaselines(string, List&lt;string&gt;)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2013">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.SetRequiredBaselines(string, List&lt;string&gt;)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="System.Int32.ToString" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2014">Because the behavior of 'int.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.SetRequiredBaselines(string, List&lt;string&gt;)' with a call to 'int.ToString(IFormatProvider)'. If the result of 'int.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#UpdateActualsQueue(System.String,System.Boolean,System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2064">In method 'PublishingEvents.UpdateActualsQueue(string, bool, string)', call System.IDisposable.Dispose on object 'ppsc' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2083">Modify 'PublishingEvents.UpdateActualsQueue(string, bool, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2061">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.UpdateActualsQueue(string, bool, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#UpdateDraftScheduleCodesThatRequireStatusApproval(System.String,System.String,VDOT.OnPublishingValidation.PwaScheduleInfo,Microsoft.ProjectServer.Client.PublishedTask)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2216">'PublishingEvents.UpdateDraftScheduleCodesThatRequireStatusApproval(string, string, PwaScheduleInfo, PublishedTask)' appears to have no upstream public or protected callers.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2238">Modify 'PublishingEvents.UpdateDraftScheduleCodesThatRequireStatusApproval(string, string, PwaScheduleInfo, PublishedTask)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#UpdateDraftScheduleForCodesThatRequireApproval(System.String,System.String,VDOT.OnPublishingValidation.PwaScheduleInfo,Microsoft.ProjectServer.Client.PublishedTask,System.Boolean)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidExcessiveComplexity" Category="Microsoft.Maintainability" CheckId="CA1502" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="90" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2108">'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' has a cyclomatic complexity of 30. Rewrite or refactor the method to reduce complexity to 25.</Issue>
            </Message>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2108">'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' appears to have no upstream public or protected callers.</Issue>
            </Message>
            <Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Name="NonExceptionEdge" Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2110">In method 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)', call System.IDisposable.Dispose on object 'ppsc' before all references to it are out of scope.</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2188">Modify 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message Id="System.String.EndsWith(System.String)" TypeName="SpecifyStringComparison" Category="Microsoft.Globalization" CheckId="CA1307" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2121">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2134">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2134">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2134">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2134">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2134">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2163">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="2172">Because the behavior of 'string.EndsWith(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.UpdateDraftScheduleForCodesThatRequireApproval(string, string, PwaScheduleInfo, PublishedTask, bool)' with a call to 'string.EndsWith(string, StringComparison)'. If the result of 'string.EndsWith(string, StringComparison)' will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#Validate95(Microsoft.ProjectServer.Client.PublishedTaskCollection,Microsoft.ProjectServer.Client.DraftTaskCollection,VDOT.OnPublishingValidation.PwaScheduleInfo,System.String)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1784">Modify 'PublishingEvents.Validate95(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1758">The 'this' parameter (or 'Me' in Visual Basic) of 'PublishingEvents.Validate95(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="System.DateTime.ToString" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="1774">Because the behavior of 'DateTime.ToString()' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.Validate95(PublishedTaskCollection, DraftTaskCollection, PwaScheduleInfo, string)' with a call to 'DateTime.ToString(IFormatProvider)'. If the result of 'DateTime.ToString(IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#WriteToPublishLogFile(System.Collections.Generic.List`1&lt;VDOT.OnPublishingValidation.PublishLogger&gt;,System.String)" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="Do not dispose objects multiple times" Category="Microsoft.Usage" CheckId="CA2202" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="DependsOnFix">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="757">Object 'sw' can be disposed more than once in method 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)'. To avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.: Lines: 757</Issue>
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="765">Object 'sw' can be disposed more than once in method 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)'. To avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.: Lines: 765</Issue>
            </Message>
            <Message TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="CriticalError" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="770">Modify 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)' to catch a more specific exception than 'Exception' or rethrow the exception.</Issue>
            </Message>
            <Message TypeName="DoNotExposeGenericLists" Category="Microsoft.Design" CheckId="CA1002" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="739">Change 'List&lt;PublishLogger&gt;' in 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)' to use Collection&lt;T&gt;, ReadOnlyCollection&lt;T&gt; or KeyedCollection&lt;K,V&gt;</Issue>
            </Message>
            <Message Id="UPC" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="MemberParameter" Certainty="85" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="739">In member 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)', correct the casing of 'UPC' in parameter name 'UPC' by changing it to 'upc'.</Issue>
            </Message>
            <Message Id="plogger" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="MemberParameter" Certainty="75" Level="CriticalWarning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="739">In method 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)', correct the spelling of 'plogger' in parameter name 'plogger' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
            <Message Id="System.Convert.ToInt32(System.String)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternate" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="743">Because the behavior of 'Convert.ToInt32(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)' with a call to 'Convert.ToInt32(string, IFormatProvider)'. If the result of 'Convert.ToInt32(string, IFormatProvider)' will be based on input from the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
            <Message Id="System.DateTime.ToString(System.String)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="NonBreaking">
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="750">Because the behavior of 'DateTime.ToString(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)' with a call to 'DateTime.ToString(string, IFormatProvider)'. If the result of 'DateTime.ToString(string, IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="752">Because the behavior of 'DateTime.ToString(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)' with a call to 'DateTime.ToString(string, IFormatProvider)'. If the result of 'DateTime.ToString(string, IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
             <Issue Name="IFormatProviderAlternateString" Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishingEvents.svc.cs" Line="760">Because the behavior of 'DateTime.ToString(string)' could vary based on the current user's locale settings, replace this call in 'PublishingEvents.WriteToPublishLogFile(List&lt;PublishLogger&gt;, string)' with a call to 'DateTime.ToString(string, IFormatProvider)'. If the result of 'DateTime.ToString(string, IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="PublishLogger" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#UPC" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="UPC" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="85" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishLogger.cs" Line="10">Correct the casing of 'UPC' in member name 'PublishLogger.UPC' by changing it to 'Upc'.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="PwaSchedule" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Messages>
          <Message Id="Pwa" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
           <Issue Name="Type" Certainty="75" Level="CriticalWarning">Correct the spelling of 'Pwa' in type name 'PwaSchedule'.</Issue>
          </Message>
         </Messages>
         <Members>
          <Member Name="#VdotComments" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="Vdot" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="75" Level="CriticalWarning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PublishLogger.cs" Line="67">Correct the spelling of 'Vdot' in member name 'PwaSchedule.VdotComments' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="PwaScheduleInfo" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Messages>
          <Message Id="Pwa" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
           <Issue Name="Type" Certainty="75" Level="CriticalWarning">Correct the spelling of 'Pwa' in type name 'PwaScheduleInfo'.</Issue>
          </Message>
         </Messages>
         <Members>
          <Member Name="#PeOrStudyOnlyTemplate" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="Pe" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="85" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="125">Correct the casing of 'Pe' in member name 'PwaScheduleInfo.PeOrStudyOnlyTemplate' by changing it to 'PE'.</Issue>
            </Message>
            <Message Id="Pe" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="75" Level="CriticalWarning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="125">Correct the spelling of 'Pe' in member name 'PwaScheduleInfo.PeOrStudyOnlyTemplate' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#ProjectTaskInfo" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="132">Change 'PwaScheduleInfo.ProjectTaskInfo' to be read-only by removing the property setter.</Issue>
            </Message>
            <Message TypeName="DoNotExposeGenericLists" Category="Microsoft.Design" CheckId="CA1002" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="132">Change 'List&lt;PwaTaskInfo&gt;' in 'PwaScheduleInfo.ProjectTaskInfo' to use Collection&lt;T&gt;, ReadOnlyCollection&lt;T&gt; or KeyedCollection&lt;K,V&gt;</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#RequiresRebaseline" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="146">Change 'PwaScheduleInfo.RequiresRebaseline' to be read-only by removing the property setter.</Issue>
            </Message>
            <Message TypeName="DoNotExposeGenericLists" Category="Microsoft.Design" CheckId="CA1002" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="146">Change 'List&lt;string&gt;' in 'PwaScheduleInfo.RequiresRebaseline' to use Collection&lt;T&gt;, ReadOnlyCollection&lt;T&gt; or KeyedCollection&lt;K,V&gt;</Issue>
            </Message>
            <Message Id="Rebaseline" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="75" Level="CriticalWarning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="146">Correct the spelling of 'Rebaseline' in member name 'PwaScheduleInfo.RequiresRebaseline' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#StatusCodesThatRequireApproval" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="139">Change 'PwaScheduleInfo.StatusCodesThatRequireApproval' to be read-only by removing the property setter.</Issue>
            </Message>
            <Message TypeName="DoNotExposeGenericLists" Category="Microsoft.Design" CheckId="CA1002" Status="Active" Created="2026-06-03 15:14:28Z" FixCategory="Breaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\sasanka.jonna\source\repos\iSYP_Agile\POL\VDOT.OnPublishingValidation_POL\VDOT.OnPublishingValidation" File="PwaScheduleInfo.cs" Line="139">Change 'List&lt;string&gt;' in 'PwaScheduleInfo.StatusCodesThatRequireApproval' to use Collection&lt;T&gt;, ReadOnlyCollection&lt;T&gt; or KeyedCollection&lt;K,V&gt;</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
       </Types>
      </Namespace>
     </Namespaces>
    </Module>
   </Modules>
  </Target>
 </Targets>
 <Rules>
  <Rule TypeName="AssembliesShouldHaveValidStrongNames" Category="Microsoft.Design" CheckId="CA2210">
   <Name>Assemblies should have valid strong names</Name>
   <Description>Either the assembly has no strong name, an invalid one, or the strong name is valid only because of the computer configuration. The assembly should not be deployed in this state. The most common causes of this are: 1) The assembly's contents were modified after it was signed. 2) The signing process failed. 3) The assembly was delay-signed. 4) A registry key existed that allowed the check to pass (where it would not have otherwise).</Description>
   <Resolution Name="NoStrongName">Sign {0} with a strong name key.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182127.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">CriticalError</MessageLevel>
   <File Name="designrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="AvoidExcessiveClassCoupling" Category="Microsoft.Maintainability" CheckId="CA1506">
   <Name>Avoid excessive class coupling</Name>
   <Description>Types and methods with a high degree of class coupling can be difficult to maintain.</Description>
   <Resolution Name="Method">{0} is coupled with {1} different types from {2} different namespaces. Rewrite or refactor the method to decrease its class coupling, or consider moving the method to one of the other types it is tightly coupled with. A class coupling above {3} indicates poor maintainability, a class coupling between {3} and {4} indicates moderate maintainability, and a class coupling below {4} indicates good maintainability.</Resolution>
   <Resolution Name="Type">{0} is coupled with {1} different types from {2} different namespaces. Rewrite or refactor this class's methods to decrease its class coupling, or consider moving some of the class's methods to some of the other types it is tightly coupled with. A class coupling above {3} indicates poor maintainability, a class coupling between {3} and {4} indicates moderate maintainability, and a class coupling below {4} indicates good maintainability.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/bb397994.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="90">Warning</MessageLevel>
   <File Name="maintainabilityrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="AvoidExcessiveComplexity" Category="Microsoft.Maintainability" CheckId="CA1502">
   <Name>Avoid excessive complexity</Name>
   <Description>Method implementations that are exceedingly complex increase the challenge of understanding and maintaining code.</Description>
   <Resolution Name="Default">{0} has a cyclomatic complexity of {1}. Rewrite or refactor the method to reduce complexity to {2}.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182212.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="90">Warning</MessageLevel>
   <File Name="maintainabilityrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="AvoidExcessiveLocals" Category="Microsoft.Performance" CheckId="CA1809">
   <Name>Avoid excessive locals</Name>
   <Description>Method implementations should not contain more than 64 local variables. In order for the run-time to enregister local variables most efficiently, there should be 64 or fewer of them. Enregistering based on flow analysis will not occur for locals in excess of 64, which may result in slower performance.</Description>
   <Resolution Name="Compiler">{0} has {1} local variables, {2} of which were generated by the compiler. Refactor {0} so that it uses fewer than 64 local variables.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182263.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Warning</MessageLevel>
   <File Name="performancerules.dll" Version="17.0.0.0" />
  </Rule>
  <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>
   <Resolution Name="Default">{0} appears to have no upstream public or protected callers.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182264.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="performancerules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="AvoidUnmaintainableCode" Category="Microsoft.Maintainability" CheckId="CA1505">
   <Name>Avoid unmaintainable code</Name>
   <Description>Types and methods with a high degree of class coupling, cyclomatic complexity and/or program length can be difficult to maintain.</Description>
   <Resolution Name="Method">{0} has a maintainability index of {1}. Rewrite or refactor the method to increase its maintainability index (MI). An MI below {2} indicates poor maintainability, an MI between {2} and {3} indicates moderate maintainability, and an MI above {3} indicates good maintainability.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/bb386043.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="90">Warning</MessageLevel>
   <File Name="maintainabilityrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227">
   <Name>Collection properties should be read only</Name>
   <Description>Properties that return collections should be read-only so that users cannot entirely replace the backing store. Users can still modify the contents of the collection by calling relevant methods on the collection. Note that the XmlSerializer class has special support for deserializing read-only collections. See the XmlSerializer overview for more information.</Description>
   <Resolution Name="Default">Change {0} to be read-only by removing the property setter.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182327.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="usagerules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000">
   <Name>Dispose objects before losing scope</Name>
   <Description>If a disposable object is not explicitly disposed before all references to it are out of scope, the object will be disposed at some indeterminate time when the garbage collector runs the finalizer of the object. Because an exceptional event might occur that will prevent the finalizer of the object from running, the object should be explicitly disposed instead.</Description>
   <Resolution Name="NonExceptionEdge">In method {0}, call System.IDisposable.Dispose on object {1} before all references to it are out of scope.</Resolution>
   <Owner>RuleOwner</Owner>
   <Url>http://msdn.microsoft.com/library/ms182289.aspx</Url>
   <Email />
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="dataflowrules.dll" Version="17.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: 765</Resolution>
   <Owner>RuleOwner</Owner>
   <Url>http://msdn.microsoft.com/library/ms182334.aspx</Url>
   <Email />
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="dataflowrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="DoNotCatchGeneralExceptionTypes" Category="Microsoft.Design" CheckId="CA1031">
   <Name>Do not catch general exception types</Name>
   <Description>You should not catch Exception or SystemException. Catching generic exception types can hide run-time problems from the library user, and can complicate debugging. You should catch only those exceptions that you can handle gracefully.</Description>
   <Resolution Name="Default">Modify {0} to catch a more specific exception than {1} or rethrow the exception.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182137.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">CriticalError</MessageLevel>
   <File Name="designrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="DoNotExposeGenericLists" Category="Microsoft.Design" CheckId="CA1002">
   <Name>Do not expose generic lists</Name>
   <Description>Do not expose List&lt;T&gt; in object models. Use Collection&lt;T&gt;, ReadOnlyCollection&lt;T&gt; or KeyedCollection&lt;K,V&gt; instead. List&lt;T&gt; is meant to be used from implementation, not in object model API. List&lt;T&gt; is optimized for performance at the cost of long term versioning. For example, if you return List&lt;T&gt; to the client code, you will not ever be able to receive notifications when client code modifies the collection.</Description>
   <Resolution Name="Default">Change {0} in {1} to use Collection&lt;T&gt;, ReadOnlyCollection&lt;T&gt; or KeyedCollection&lt;K,V&gt;</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182142.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="designrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709">
   <Name>Identifiers should be cased correctly</Name>
   <Description>Type, namespace, and member identifiers are Pascal-cased. Parameter identifiers are camel-cased. Two letter acronyms within these identifiers should be upper-cased, for example, use System.IO instead of System.Io. Acronyms of three or more letters should be Pascal-cased, for example, use System.Xml instead of System.XML. The pascal-casing convention capitalizes the first letter of each word, as in BackColor. The camel-casing convention formats the first letter of the first word in lowercase and capitalizes the first letter of all subsequent words, as in backgroundColor. Although it may be common practice for some two letter acronyms to not be fully capitalized, violations of this rule should not be excluded for this reason. For example, 'DbConnection', is common but incorrect; use DBConnection. A violation of this rule might be required for compatibility with existing, non-managed symbol schemes. In general, however, these symbols should not be visible outside the assembly that uses them.</Description>
   <Resolution Name="Assembly">Correct the casing of '{0}' in assembly name {1} by changing it to '{2}'.</Resolution>
   <Resolution Name="Member">Correct the casing of '{0}' in member name {1} by changing it to '{2}'.</Resolution>
   <Resolution Name="MemberParameter">In member {0}, correct the casing of '{1}' in parameter name {2} by changing it to '{3}'.</Resolution>
   <Resolution Name="Namespace">Correct the casing of '{0}' in namespace name '{1}' by changing it to '{2}'.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182240.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="85">Error</MessageLevel>
   <File Name="namingrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704">
   <Name>Identifiers should be spelled correctly</Name>
   <Description>The individual words that make up an identifier should not be abbreviated and should be spelled correctly. If this rule generates a false positive on a term that should be recognized, add the word to the FxCop custom dictionary.</Description>
   <Resolution Name="Member">Correct the spelling of '{0}' in member name {1} or remove it entirely if it represents any sort of Hungarian notation.</Resolution>
   <Resolution Name="MemberParameter">In method {0}, correct the spelling of '{1}' in parameter name {2} or remove it entirely if it represents any sort of Hungarian notation.</Resolution>
   <Resolution Name="Type">Correct the spelling of '{0}' in type name {1}.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/bb264492.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">CriticalWarning</MessageLevel>
   <File Name="namingrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="MarkAssembliesWithClsCompliant" Category="Microsoft.Design" CheckId="CA1014">
   <Name>Mark assemblies with CLSCompliantAttribute</Name>
   <Description>Assemblies should explicitly state their CLS compliance using the CLSCompliant attribute. An assembly without this attribute is not CLS-compliant. Assemblies, modules, and types can be CLS-compliant even if some parts of the assembly, module, or type are not CLS-compliant. The following rules apply: 1) If the element is marked CLSCompliant, any noncompliant members must have the CLSCompliant attribute present with its argument set to false. 2) A comparable CLS-compliant alternative member must be supplied for each member that is not CLS-compliant.</Description>
   <Resolution Name="Default">Mark {0} with CLSCompliant(true) because it exposes externally visible types.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182156.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="designrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822">
   <Name>Mark members as static</Name>
   <Description>Methods which do not access instance data or call instance methods can be marked as static (Shared in Visual Basic). After doing so, the compiler will emit non-virtual call sites to these members which will prevent a check at runtime for each call that ensures the current object pointer is non-null. This can result in a measurable performance gain for performance-sensitive code. In some cases, the failure to access the current object instance represents a correctness issue.</Description>
   <Resolution Name="Default">The 'this' parameter (or 'Me' in Visual Basic) of {0} is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms245046.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Warning</MessageLevel>
   <File Name="performancerules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="RemoveUnusedLocals" Category="Microsoft.Performance" CheckId="CA1804">
   <Name>Remove unused locals</Name>
   <Description>Remove locals that are not used or are only assigned to in method implementations.</Description>
   <Resolution Name="Default">{0} declares a variable, {1}, of type {2}, which is never used or is only assigned to. Use this variable or remove it.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182278.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Warning</MessageLevel>
   <File Name="performancerules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="RethrowToPreserveStackDetails" Category="Microsoft.Usage" CheckId="CA2200">
   <Name>Rethrow to preserve stack details</Name>
   <Description>Use the IL rethrow instruction to preserve original stack details when re-raising a caught exception.</Description>
   <Resolution Name="Default">{0} rethrows a caught exception and specifies it explicitly as an argument. Use 'throw' without an argument instead, in order to preserve the stack location where the exception was initially raised.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182363.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="usagerules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="ReviewUnusedParameters" Category="Microsoft.Usage" CheckId="CA1801">
   <Name>Review unused parameters</Name>
   <Description>Review parameters in non-virtual methods that are not used in the method body to ensure no correctness exists around failure to access them. Unused parameters incur maintenance and performance costs. Sometimes a violation of this rule can point to an implementation bug in the method (i.e. the parameter should actually have been used in the method body). Exclude warnings of this rule if the parameter has to exist because of backward compatibility.</Description>
   <Resolution Name="Default">Parameter {0} of {1} is never used. Remove the parameter or use it in the method body.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182268.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Warning</MessageLevel>
   <File Name="usagerules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="SpecifyCultureInfo" Category="Microsoft.Globalization" CheckId="CA1304">
   <Name>Specify CultureInfo</Name>
   <Description>If an overload exists that takes a CultureInfo argument, it should always be called in favor of an overload that does not. The CultureInfo type contains culture-specific information required for performing numeric and string operations, such as casing, formatting, and string comparisons. In scenarios where conversion and parsing behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture.</Description>
   <Resolution Name="Default">Because the behavior of {0} could vary based on the current user's locale settings, replace this call in {1} with a call to {2}. If the result of {2} will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'CultureInfo' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182189.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="globalizationrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305">
   <Name>Specify IFormatProvider</Name>
   <Description>If an overload exists that takes an IFormatProvider argument, it should always be called in favor of an overload that does not. Some methods in the runtime convert a value to or from a string representation and take a string parameter that contains one or more characters, called format specifiers, which indicate how the value is to be converted. If the meaning of the format specifier varies by culture, a formatting object supplies the actual characters used in the string representation. In scenarios where sorting and comparison behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture.</Description>
   <Resolution Name="IFormatProviderAlternate">Because the behavior of {0} could vary based on the current user's locale settings, replace this call in {1} with a call to {2}. If the result of {2} will be based on input from the user, specify {3} as the 'IFormatProvider' parameter. Otherwise, if the result will based on input stored and accessed by software, such as when it is loaded from disk or from a database, specify {4}.</Resolution>
   <Resolution Name="IFormatProviderAlternateString">Because the behavior of {0} could vary based on the current user's locale settings, replace this call in {1} with a call to {2}. If the result of {2} will be displayed to the user, specify {3} as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify {4}.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182190.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="globalizationrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="SpecifyStringComparison" Category="Microsoft.Globalization" CheckId="CA1307">
   <Name>Specify StringComparison</Name>
   <Description>If an overload exists that takes a StringComparison argument, it should always be called in favor of an overload that does not.</Description>
   <Resolution Name="Default">Because the behavior of {0} could vary based on the current user's locale settings, replace this call in {1} with a call to {2}. If the result of {2} will be displayed to the user, such as when sorting a list of items for display in a list box, specify 'StringComparison.CurrentCulture' or 'StringComparison.CurrentCultureIgnoreCase' as the 'StringComparison' parameter. If comparing case-insensitive identifiers, such as file paths, environment variables, or registry keys and values, specify 'StringComparison.OrdinalIgnoreCase'. Otherwise, if comparing case-sensitive identifiers, specify 'StringComparison.Ordinal'.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/bb386080.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="globalizationrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="UriParametersShouldNotBeStrings" Category="Microsoft.Design" CheckId="CA1054">
   <Name>URI parameters should not be strings</Name>
   <Description>If a parameter name contains "uri" or "url" or "urn", and it's typed as string, the parameter type should be changed to System.Uri, unless there is an overload method where the same parameter is typed as System.Uri.</Description>
   <Resolution Name="Default">Change the type of parameter {0} of method {1} from string to System.Uri, or provide an overload of {1}, that allows {0} to be passed as a System.Uri object.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182174.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="60">Error</MessageLevel>
   <File Name="designrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="UsePropertiesWhereAppropriate" Category="Microsoft.Design" CheckId="CA1024">
   <Name>Use properties where appropriate</Name>
   <Description>Properties should be used instead of Get/Set methods in most situations. Methods are preferable to properties in the following situations: the operation is a conversion, is expensive or has an observable side-effect; the order of execution is important; calling the member twice in succession creates different results; a member is static but returns a mutable value; or the member returns an array.</Description>
   <Resolution Name="Default">Change {0} to a property if appropriate.</Resolution>
   <Owner />
   <Url>http://msdn.microsoft.com/library/ms182181.aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="designrules.dll" Version="17.0.0.0" />
  </Rule>
  <Rule TypeName="Validate arguments of public methods" Category="Microsoft.Design" CheckId="CA1062">
   <Name>Validate arguments of public methods</Name>
   <Description>All reference arguments passed to externally visible methods should be checked against null (Nothing in VB). If appropriate, throw a System.ArgumentNullException when the argument is null.</Description>
   <Resolution Name="Default">In externally visible method {0}, validate parameter '{1}' before using it.</Resolution>
   <Owner>RuleOwner</Owner>
   <Url>http://msdn.microsoft.com/library/ms182182.aspx</Url>
   <Email />
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="dataflowrules.dll" Version="17.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>
