Use ApiCompatTask in ApiCompat.proj (#66073)
authorViktor Hofer <viktor.hofer@microsoft.com>
Fri, 11 Mar 2022 17:51:22 +0000 (18:51 +0100)
committerGitHub <noreply@github.com>
Fri, 11 Mar 2022 17:51:22 +0000 (18:51 +0100)
* Use ApiCompatTask in ApiCompat.proj

As ApiCompat now has a task that allows to run in-proc, use that instead
of shelving out. Also use items instead of properties to define
the attribute exclusion list.

* Update ApiCompat version

eng/Version.Details.xml
eng/Versions.props
src/libraries/Directory.Build.props
src/libraries/apicompat/ApiCompat.proj
src/libraries/apicompat/ApiCompatBaseline.NetCoreAppLatestStable.txt [moved from src/libraries/apicompat/ApiCompatBaseline.PreviousNetCoreApp.txt with 100% similarity]
src/libraries/apicompat/ApiCompatBaseline.netcoreapp.netstandardOnly.txt [deleted file]
src/libraries/apicompat/ApiCompatBaseline.netstandard2.0.txt [moved from src/libraries/apicompat/ApiCompatBaseline.netcoreapp.netstandard.txt with 100% similarity]
src/libraries/apicompat/ApiCompatBaseline.netstandard2.1.txt [new file with mode: 0644]

index 2fdc1c3..1eed349 100644 (file)
@@ -58,9 +58,9 @@
       <Uri>https://github.com/dotnet/arcade</Uri>
       <Sha>81001b45bd54f9223905bf55f6ed0125273580fa</Sha>
     </Dependency>
-    <Dependency Name="Microsoft.DotNet.ApiCompat" Version="7.0.0-beta.22157.6">
+    <Dependency Name="Microsoft.DotNet.ApiCompat" Version="7.0.0-beta.22159.9">
       <Uri>https://github.com/dotnet/arcade</Uri>
-      <Sha>81001b45bd54f9223905bf55f6ed0125273580fa</Sha>
+      <Sha>3d988e17f3317c888c82e21b4b3dd5196dfc4d78</Sha>
     </Dependency>
     <Dependency Name="Microsoft.DotNet.GenAPI" Version="7.0.0-beta.22157.6">
       <Uri>https://github.com/dotnet/arcade</Uri>
index 21f867f..bdeb8db 100644 (file)
@@ -46,7 +46,7 @@
     <!-- SDK dependencies -->
     <MicrosoftDotNetCompatibilityVersion>2.0.0-alpha.1.21525.11</MicrosoftDotNetCompatibilityVersion>
     <!-- Arcade dependencies -->
-    <MicrosoftDotNetApiCompatVersion>7.0.0-beta.22157.6</MicrosoftDotNetApiCompatVersion>
+    <MicrosoftDotNetApiCompatVersion>7.0.0-beta.22159.9</MicrosoftDotNetApiCompatVersion>
     <MicrosoftDotNetBuildTasksFeedVersion>7.0.0-beta.22157.6</MicrosoftDotNetBuildTasksFeedVersion>
     <MicrosoftDotNetCodeAnalysisVersion>7.0.0-beta.22157.6</MicrosoftDotNetCodeAnalysisVersion>
     <MicrosoftDotNetGenAPIVersion>7.0.0-beta.22157.6</MicrosoftDotNetGenAPIVersion>
index ada4adc..ff2e0fd 100644 (file)
     <AssemblyVersion />
   </PropertyGroup>
 
+  <!-- ApiCompat setting -->
   <PropertyGroup>
     <RunApiCompatForSrc>$([MSBuild]::ValueOrDefault('$(IsSourceProject)', 'false'))</RunApiCompatForSrc>
     <RunMatchingRefApiCompat>$([MSBuild]::ValueOrDefault('$(IsSourceProject)', 'false'))</RunMatchingRefApiCompat>
     <ApiCompatEnforceOptionalRules>true</ApiCompatEnforceOptionalRules>
-    <ApiCompatExcludeAttributeList>$(RepositoryEngineeringDir)DefaultGenApiDocIds.txt,$(RepositoryEngineeringDir)ApiCompatExcludeAttributes.txt</ApiCompatExcludeAttributeList>
   </PropertyGroup>
 
   <ItemGroup>
+    <ApiCompatExcludeAttributesFile Include="$(RepositoryEngineeringDir)DefaultGenApiDocIds.txt" />
+    <ApiCompatExcludeAttributesFile Include="$(RepositoryEngineeringDir)ApiCompatExcludeAttributes.txt" />
+  </ItemGroup>
+
+  <ItemGroup>
     <!-- Projects which are manually built. -->
     <ProjectExclusions Include="$(CommonTestPath)System\Net\Prerequisites\**\*.csproj" />
   </ItemGroup>
index 8a41d9e..62db320 100644 (file)
@@ -8,14 +8,14 @@
     <CompileUsingReferenceAssemblies>true</CompileUsingReferenceAssemblies>
     <TrimOutPrivateAssembliesFromReferencePath>true</TrimOutPrivateAssembliesFromReferencePath>
 
-    <ApiCompatNSBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.netcoreapp.netstandard.txt</ApiCompatNSBaselineFile>
-    <ApiCompatNSOnlyBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.netcoreapp.netstandardOnly.txt</ApiCompatNSOnlyBaselineFile>
-    <PreviousNetCoreAppBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.PreviousNetCoreApp.txt</PreviousNetCoreAppBaselineFile>
+    <ApiCompatNetStandard20BaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.netstandard2.0.txt</ApiCompatNetStandard20BaselineFile>
+    <ApiCompatNetStandard21BaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.netstandard2.1.txt</ApiCompatNetStandard21BaselineFile>
+    <ApiCompatNetCoreAppLatestStableBaselineFile>$(MSBuildThisFileDirectory)ApiCompatBaseline.NetCoreAppLatestStable.txt</ApiCompatNetCoreAppLatestStableBaselineFile>
   </PropertyGroup>
 
   <ItemGroup>
-    <ApiCompatExcludeAttributeFile Include="$(ApiCompatExcludeAttributeList.Split(','))" />
-    <ApiCompatExcludeAttributeFile Include="ApiCompatBaselineExcludedAttributes.txt" />
+    <!-- The globally defined DefaultGenApiDocIds.txt and the ApiCompatExcludeAttributes.txt exclude attribute files apply as well. -->
+    <ApiCompatExcludeAttributesFile Include="ApiCompatBaselineExcludedAttributes.txt" />
   </ItemGroup>
 
   <!-- For API comparision, ApiCompat needs both the inbox and the out-of-band assemblies plus the shims to be built. -->
   <Target Name="RunApiCompat"
           DependsOnTargets="FindReferenceAssembliesForReferences"
           AfterTargets="Build"
-          Inputs="@(ReferencePathWithRefAssemblies);$(ApiCompatNSBaselineFile);$(ApiCompatNSOnlyBaselineFile);$(PreviousNetCoreAppBaselineFile);@(ApiCompatExcludeAttributeFile)"
+          Inputs="@(ReferencePathWithRefAssemblies);$(ApiCompatNetStandard20BaselineFile);$(ApiCompatNetStandard21BaselineFile);$(ApiCompatNetCoreAppLatestStableBaselineFile);@(ApiCompatExcludeAttributesFile)"
           Outputs="$(IntermediateOutputPath)$(TargetArchitecture)-marker.txt">
-    <PropertyGroup>
-      <ApiCompatResponseFile>$(IntermediateOutputPath)apicompat.rsp</ApiCompatResponseFile>
-      <ApiCompatExitCode>0</ApiCompatExitCode>
-      <!-- TODO: Replace with ReferencePathWithRefAssemblies when ApiCompat supports passing in a list of assemblies: https://github.com/dotnet/arcade/issues/8394. -->
-      <ApiCompatArgs>--impl-dirs "$(LibrariesAllRefArtifactsPath.TrimEnd('\/'))"</ApiCompatArgs>
-      <ApiCompatArgs Condition="'@(ApiCompatExcludeAttributeFile)' != ''">$(ApiCompatArgs) --exclude-attributes "@(ApiCompatExcludeAttributeFile->Metadata('FullPath'), ',')"</ApiCompatArgs>
-    </PropertyGroup>
-
-    <WriteLinesToFile File="$(ApiCompatResponseFile)"
-                      Lines="$(ApiCompatArgs)"
-                      Overwrite="true" />
+    <Message Text="ApiCompat -> Comparing $(NetCoreAppCurrent) reference assemblies against .NETStandard2.x and .NETCoreApp$(NetCoreAppLatestStableVersion)..." Importance="high"  />
 
-    <!-- In order to update the .NETStandard baseline, you can just start the build with /p:UpdateNETStandardBaseline=true -->
-    <PropertyGroup>
-      <NetStandardLibrary20RefPath>$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'netstandard.library', '$(NetStandardLibraryVersion)', 'build', 'netstandard2.0', 'ref'))</NetStandardLibrary20RefPath>
-      <NetStandard21OnlyRef>$(NETStandard21RefPath)netstandard.dll</NetStandard21OnlyRef>
-      <NetStandard21BaselineModifer>--baseline</NetStandard21BaselineModifer>
-      <NetStandard21BaselineModifer Condition="'$(UpdateNETStandardBaseline)' == 'true'">&gt;</NetStandard21BaselineModifer>
+    <PropertyGroup Condition="'$(UpdateBaselineFiles)' == 'true'">
+      <ApiCompatNetStandard21OutputFile>$(ApiCompatNetStandard21BaselineFile)</ApiCompatNetStandard21OutputFile>
+      <ApiCompatNetStandard20OutputFile>$(ApiCompatNetStandard20BaselineFile)</ApiCompatNetStandard20OutputFile>
+      <ApiCompatNetCoreAppLatestStableOutputFile>$(ApiCompatNetCoreAppLatestStableBaselineFile)</ApiCompatNetCoreAppLatestStableOutputFile>
+      <ApiCompatNetStandard21BaselineFile />
+      <ApiCompatNetStandard20BaselineFile />
+      <ApiCompatNetCoreAppLatestStableBaselineFile />
     </PropertyGroup>
+    <Delete Files="$(ApiCompatNetStandard21OutputFile);$(ApiCompatNetStandard20OutputFile);$(ApiCompatNetCoreAppLatestStableOutputFile)"
+            Condition="'$(UpdateBaselineFiles)' == 'true'" />
 
-    <Message Importance="high" Text="ApiCompat -> Comparing $(NetCoreAppCurrent) reference assemblies against .NETStandard2.x and .NETCoreApp$(NetCoreAppLatestStableVersion)..." />
-
-    <Exec Command="$(_ApiCompatCommand) &quot;$(NetStandard21OnlyRef)&quot; @&quot;$(ApiCompatResponseFile)&quot; $(NetStandard21BaselineModifer) &quot;$(ApiCompatNSOnlyBaselineFile)&quot;"
-          CustomErrorRegularExpression="^[a-zA-Z]+ :"
-          StandardOutputImportance="Low"
-          IgnoreExitCode="true">
+    <!-- ApiCompat: NetCoreAppCurrent <-> netstandard2.1 -->
+    <ApiCompatTask Contracts="$(NETStandard21RefPath)netstandard.dll"
+                   ExcludeAttributes="@(ApiCompatExcludeAttributesFile)"
+                   ImplementationDirectories="$(LibrariesAllRefArtifactsPath)"
+                   BaselineFiles="$(ApiCompatNetStandard21BaselineFile)"
+                   ValidateBaseline="true"
+                   OutFilePath="$(ApiCompatNetStandard21OutputFile)"
+                   DisableAssemblyResolveTraceListener="true"
+                   IgnoreExitCode="true">
       <Output TaskParameter="ExitCode" PropertyName="ApiCompatExitCode" />
-    </Exec>
-    <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing netstandard.dll to $(NetCoreAppCurrent)" />
+    </ApiCompatTask>
+    <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing netstandard.dll to $(NetCoreAppCurrent). If this breaking change is intentional, the ApiCompat baseline files can be updated by running 'dotnet build $(MSBuildThisFileFullPath) --no-incremental /p:UpdateBaselineFiles=true'." />
 
-    <Exec Command="$(_ApiCompatCommand) &quot;$(NetStandardLibrary20RefPath.TrimEnd('\/'))&quot; --baseline &quot;$(ApiCompatNSBaselineFile)&quot; @&quot;$(ApiCompatResponseFile)&quot;"
-          CustomErrorRegularExpression="^[a-zA-Z]+ :"
-          StandardOutputImportance="Low"
-          IgnoreExitCode="true">
+    <!-- ApiCompat: NetCoreAppCurrent <-> netstandard2.0 -->
+    <ApiCompatTask Contracts="$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'netstandard.library', '$(NetStandardLibraryVersion)', 'build', 'netstandard2.0', 'ref'))"
+                   ExcludeAttributes="@(ApiCompatExcludeAttributesFile)"
+                   ImplementationDirectories="$(LibrariesAllRefArtifactsPath)"
+                   BaselineFiles="$(ApiCompatNetStandard20BaselineFile)"
+                   ValidateBaseline="true"
+                   OutFilePath="$(ApiCompatNetStandard20OutputFile)"
+                   DisableAssemblyResolveTraceListener="true"
+                   IgnoreExitCode="true">
       <Output TaskParameter="ExitCode" PropertyName="ApiCompatExitCode" />
-    </Exec>
-    <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing netstandard to $(NetCoreAppCurrent)" />
-    <!-- In order to update the previous .NETCoreApp baseline, you can just start the build with /p:UpdatePreviousNetCoreAppBaseline=true -->
-    <PropertyGroup>
-      <PreviousNetCoreAppRefPath>$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.netcore.app.ref', '$(NetCoreAppLatestStablePackageBaselineVersion)', 'ref', '$(NetCoreAppLatestStable)'))</PreviousNetCoreAppRefPath>
-      <PreviousNetCoreAppBaselineParam>--baseline</PreviousNetCoreAppBaselineParam>
-      <PreviousNetCoreAppBaselineParam Condition="'$(UpdatePreviousNetCoreAppBaseline)' == 'true'">&gt;</PreviousNetCoreAppBaselineParam>
-    </PropertyGroup>
+    </ApiCompatTask>
+    <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing netstandard to $(NetCoreAppCurrent). If this breaking change is intentional, the ApiCompat baseline files can be updated by running 'dotnet build $(MSBuildThisFileFullPath) --no-incremental /p:UpdateBaselineFiles=true'." />
  
-    <Exec Command="$(_ApiCompatCommand) &quot;$(PreviousNetCoreAppRefPath.TrimEnd('\/'))&quot;  @&quot;$(ApiCompatResponseFile)&quot; $(PreviousNetCoreAppBaselineParam) &quot;$(PreviousNetCoreAppBaselineFile)&quot;"
-          CustomErrorRegularExpression="^[a-zA-Z]+ :"
-          StandardOutputImportance="Low"
-          IgnoreExitCode="true">
+    <!-- ApiCompat: NetCoreAppCurrent <-> NetCoreAppLatestStable -->
+    <ApiCompatTask Contracts="$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.netcore.app.ref', '$(NetCoreAppLatestStablePackageBaselineVersion)', 'ref', '$(NetCoreAppLatestStable)'))"
+                   ExcludeAttributes="@(ApiCompatExcludeAttributesFile)"
+                   ImplementationDirectories="$(LibrariesAllRefArtifactsPath)"
+                   BaselineFiles="$(ApiCompatNetCoreAppLatestStableBaselineFile)"
+                   ValidateBaseline="true"
+                   OutFilePath="$(ApiCompatNetCoreAppLatestStableOutputFile)"
+                   DisableAssemblyResolveTraceListener="true"
+                   IgnoreExitCode="true">
       <Output TaskParameter="ExitCode" PropertyName="ApiCompatExitCode" />
-    </Exec>
-    <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing $(NetCoreAppLatestStable) to $(NetCoreAppCurrent). If this breaking change is intentional, the ApiCompat baseline can be updated by running 'dotnet build $(MSBuildThisFileFullPath) /p:UpdatePreviousNetCoreAppBaseline=true'" />
+    </ApiCompatTask>
+    <Error Condition="'$(ApiCompatExitCode)' != '0'" Text="ApiCompat failed comparing $(NetCoreAppLatestStable) to $(NetCoreAppCurrent). If this breaking change is intentional, the ApiCompat baseline files can be updated by running 'dotnet build $(MSBuildThisFileFullPath) --no-incremental /p:UpdateBaselineFiles=true'." />
 
     <!-- Create a marker file which serves as the target's output to enable incremental builds. -->
     <Touch Files="$(IntermediateOutputPath)$(TargetArchitecture)-marker.txt"
diff --git a/src/libraries/apicompat/ApiCompatBaseline.netcoreapp.netstandardOnly.txt b/src/libraries/apicompat/ApiCompatBaseline.netcoreapp.netstandardOnly.txt
deleted file mode 100644 (file)
index 5814255..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-Compat issues with assembly netstandard:
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.RuntimeTypeHandle.GetModuleHandle()' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.Parse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.Parse(System.String)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.Parse(System.String, System.Globalization.NumberStyles)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.Parse(System.String, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.Parse(System.String, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.TryParse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider, System.SByte)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.TryParse(System.ReadOnlySpan<System.Char>, System.SByte)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.TryParse(System.String, System.Globalization.NumberStyles, System.IFormatProvider, System.SByte)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.SByte.TryParse(System.String, System.SByte)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.TypedReference.MakeTypedReference(System.Object, System.Reflection.FieldInfo[])' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.TypedReference.SetTypedReference(System.TypedReference, System.Object)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.Parse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.Parse(System.String)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.Parse(System.String, System.Globalization.NumberStyles)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.Parse(System.String, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.Parse(System.String, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.TryParse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider, System.UInt16)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.TryParse(System.ReadOnlySpan<System.Char>, System.UInt16)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.TryParse(System.String, System.Globalization.NumberStyles, System.IFormatProvider, System.UInt16)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt16.TryParse(System.String, System.UInt16)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.Parse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.Parse(System.String)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.Parse(System.String, System.Globalization.NumberStyles)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.Parse(System.String, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.Parse(System.String, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.TryParse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider, System.UInt32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.TryParse(System.ReadOnlySpan<System.Char>, System.UInt32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.TryParse(System.String, System.Globalization.NumberStyles, System.IFormatProvider, System.UInt32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt32.TryParse(System.String, System.UInt32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.Parse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.Parse(System.String)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.Parse(System.String, System.Globalization.NumberStyles)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.Parse(System.String, System.Globalization.NumberStyles, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.Parse(System.String, System.IFormatProvider)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.TryParse(System.ReadOnlySpan<System.Char>, System.Globalization.NumberStyles, System.IFormatProvider, System.UInt64)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.TryParse(System.ReadOnlySpan<System.Char>, System.UInt64)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.TryParse(System.String, System.Globalization.NumberStyles, System.IFormatProvider, System.UInt64)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UInt64.TryParse(System.String, System.UInt64)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UIntPtr..ctor(System.Void*)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UIntPtr.op_Explicit(System.UIntPtr)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UIntPtr.op_Explicit(System.Void*)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.UIntPtr.ToPointer()' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultEventAttribute' exists on 'System.ComponentModel.BackgroundWorker' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.ComponentModel.BackgroundWorker.CancellationPending' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.ComponentModel.BackgroundWorker.IsBusy' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerReportsProgress' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.ComponentModel.BackgroundWorker.WorkerSupportsCancellation' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.ComponentModel.RunWorkerCompletedEventArgs.UserState' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultEventAttribute' exists on 'System.Diagnostics.Process' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultPropertyAttribute' exists on 'System.Diagnostics.Process' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.BasePriority' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.EnableRaisingEvents' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.Process.EnableRaisingEvents' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.ExitCode' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.ExitCode' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.ExitTime' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.ExitTime' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.Handle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.Handle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.HandleCount' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.HasExited' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.HasExited' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.Id' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.MachineName' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.MachineName' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.MainModule' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.MainModule' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.MainWindowHandle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.MainWindowTitle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.MaxWorkingSet' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.MinWorkingSet' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.Modules' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.Modules' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.NonpagedSystemMemorySize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.NonpagedSystemMemorySize64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PagedMemorySize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PagedMemorySize64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PagedSystemMemorySize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PagedSystemMemorySize64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PeakPagedMemorySize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PeakPagedMemorySize64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PeakVirtualMemorySize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PeakVirtualMemorySize64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PeakWorkingSet' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PeakWorkingSet64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PriorityBoostEnabled' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PriorityClass' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PrivateMemorySize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PrivateMemorySize64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.PrivilegedProcessorTime' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.ProcessName' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.ProcessorAffinity' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.Responding' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.SafeHandle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.SafeHandle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.SessionId' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.StandardError' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.StandardError' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.StandardInput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.StandardInput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.StandardOutput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.StandardOutput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.StartInfo' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.StartInfo' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.StartTime' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.SynchronizingObject' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.Process.SynchronizingObject' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.Threads' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.Threads' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.TotalProcessorTime' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.UserProcessorTime' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.VirtualMemorySize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.VirtualMemorySize64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.WorkingSet' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.Process.WorkingSet64' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.ErrorDataReceived' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'System.Diagnostics.Process.Exited' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.Process.OutputDataReceived' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.ProcessModule.FileVersionInfo' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Arguments' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Arguments' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.SettingsBindableAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Arguments' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.CreateNoWindow' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.CreateNoWindow' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Domain' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Environment' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Environment' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Environment' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.EnvironmentVariables' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.ProcessStartInfo.EnvironmentVariables' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.EnvironmentVariables' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.ErrorDialog' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.ErrorDialog' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.ProcessStartInfo.ErrorDialogParentHandle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.ProcessStartInfo.ErrorDialogParentHandle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.FileName' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.FileName' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.SettingsBindableAttribute' exists on 'System.Diagnostics.ProcessStartInfo.FileName' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.LoadUserProfile' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.ProcessStartInfo.PasswordInClearText' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.ProcessStartInfo.PasswordInClearText' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.RedirectStandardError' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.RedirectStandardError' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.RedirectStandardInput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.RedirectStandardInput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.RedirectStandardOutput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.RedirectStandardOutput' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.UserName' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.UseShellExecute' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.UseShellExecute' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Verb' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Verbs' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DesignerSerializationVisibilityAttribute' exists on 'System.Diagnostics.ProcessStartInfo.Verbs' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.WindowStyle' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Diagnostics.ProcessStartInfo.WorkingDirectory' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.NotifyParentPropertyAttribute' exists on 'System.Diagnostics.ProcessStartInfo.WorkingDirectory' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.SettingsBindableAttribute' exists on 'System.Diagnostics.ProcessStartInfo.WorkingDirectory' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.ProcessThread.IdealProcessor' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Diagnostics.ProcessThread.ProcessorAffinity' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultEventAttribute' exists on 'System.IO.FileSystemWatcher' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.IO.FileSystemWatcher.EnableRaisingEvents' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.IO.FileSystemWatcher.Filter' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.SettingsBindableAttribute' exists on 'System.IO.FileSystemWatcher.Filter' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.IO.FileSystemWatcher.IncludeSubdirectories' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.IO.FileSystemWatcher.InternalBufferSize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.IO.FileSystemWatcher.InternalBufferSize' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.IO.FileSystemWatcher.NotifyFilter' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.IO.FileSystemWatcher.Path' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.SettingsBindableAttribute' exists on 'System.IO.FileSystemWatcher.Path' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.IO.FileSystemWatcher.Site' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.IO.FileSystemWatcher.SynchronizingObject' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.IO.FileSystemWatcher.SynchronizingObject' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.IO.FileSystemWatcher.Error' in the contract but not the implementation.
-CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Runtime.InteropServices.ManagedToNativeComInteropStubAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false, AllowMultiple=false)]' in the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.Runtime.InteropServices.Marshal.SecureStringToBSTR(System.Security.SecureString)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.Runtime.InteropServices.Marshal.SecureStringToCoTaskMemAnsi(System.Security.SecureString)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.Runtime.InteropServices.Marshal.SecureStringToCoTaskMemUnicode(System.Security.SecureString)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.Runtime.InteropServices.Marshal.SecureStringToGlobalAllocAnsi(System.Security.SecureString)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.CLSCompliantAttribute' exists on 'System.Runtime.InteropServices.Marshal.SecureStringToGlobalAllocUnicode(System.Security.SecureString)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.AppendChar(System.Char)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.InsertAt(System.Int32, System.Char)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.RemoveAt(System.Int32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.SetAt(System.Int32, System.Char)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute' exists on 'System.Threading.Semaphore.Release()' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute' exists on 'System.Threading.SynchronizationContext.Wait(System.IntPtr[], System.Boolean, System.Int32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute' exists on 'System.Threading.SynchronizationContext.WaitHelper(System.IntPtr[], System.Boolean, System.Int32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'System.Timers.Timer.AutoReset' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'System.Timers.Timer.Enabled' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'System.Timers.Timer.Interval' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultValueAttribute' exists on 'System.Timers.Timer.Interval' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.SettingsBindableAttribute' exists on 'System.Timers.Timer.Interval' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.BrowsableAttribute' exists on 'System.Timers.Timer.SynchronizingObject' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'System.Timers.Timer.Elapsed' in the contract but not the implementation.
-CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Xml.Serialization.XmlAnyAttributeAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple=false)]' in the implementation.
-CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Xml.Serialization.XmlNamespaceDeclarationsAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple=false)]' in the implementation.
-CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Runtime.CompilerServices.AsyncMethodBuilderAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Struct, Inherited=false, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Method | AttributeTargets.Struct, Inherited=false, AllowMultiple=false)]' in the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.CopyTo(T[])' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.CopyTo(T[], System.Int32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.Equals(System.Numerics.Vector<T>)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.Equals(System.Object)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.GetHashCode()' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.Item.get(System.Int32)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.ToString()' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.ToString(System.String)' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.ToString(System.String, System.IFormatProvider)' in the contract but not the implementation.
-Total Issues: 207
diff --git a/src/libraries/apicompat/ApiCompatBaseline.netstandard2.1.txt b/src/libraries/apicompat/ApiCompatBaseline.netstandard2.1.txt
new file mode 100644 (file)
index 0000000..d631bc5
--- /dev/null
@@ -0,0 +1,23 @@
+Compat issues with assembly netstandard:
+CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultEventAttribute' exists on 'System.ComponentModel.BackgroundWorker' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultEventAttribute' exists on 'System.Diagnostics.Process' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultPropertyAttribute' exists on 'System.Diagnostics.Process' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.ComponentModel.DefaultEventAttribute' exists on 'System.IO.FileSystemWatcher' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.CopyTo(T[])' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.CopyTo(T[], System.Int32)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.Equals(System.Numerics.Vector<T>)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.Equals(System.Object)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.GetHashCode()' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.Item.get(System.Int32)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.ToString()' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.ToString(System.String)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.CompilerServices.IsReadOnlyAttribute' exists on 'System.Numerics.Vector<T>.ToString(System.String, System.IFormatProvider)' in the contract but not the implementation.
+CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Runtime.CompilerServices.AsyncMethodBuilderAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Struct, Inherited=false, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Delegate | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Method | AttributeTargets.Struct, Inherited=false, AllowMultiple=false)]' in the implementation.
+CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Runtime.InteropServices.ManagedToNativeComInteropStubAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false, AllowMultiple=false)]' in the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.AppendChar(System.Char)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.InsertAt(System.Int32, System.Char)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.RemoveAt(System.Int32)' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute' exists on 'System.Security.SecureString.SetAt(System.Int32, System.Char)' in the contract but not the implementation.
+CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Xml.Serialization.XmlAnyAttributeAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple=false)]' in the implementation.
+CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Xml.Serialization.XmlNamespaceDeclarationsAttribute' changed from '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)]' in the contract to '[AttributeUsageAttribute(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple=false)]' in the implementation.
+Total Issues: 21