Fix inconsistent attributes between ref and src (dotnet/corefx#32715)
authorEric StJohn <ericstj@microsoft.com>
Thu, 11 Oct 2018 13:19:17 +0000 (06:19 -0700)
committerViktor Hofer <viktor.hofer@microsoft.com>
Thu, 11 Oct 2018 13:19:17 +0000 (15:19 +0200)
Commit migrated from https://github.com/dotnet/corefx/commit/f42778ac1c71ed1646d07fb7293ccf11f18047f5

31 files changed:
src/libraries/System.ComponentModel.Primitives/ref/System.ComponentModel.Primitives.cs
src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs
src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.csproj
src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.cs
src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.manual.cs [new file with mode: 0644]
src/libraries/System.Data.Common/ref/System.Data.Common.cs
src/libraries/System.Data.Common/ref/System.Data.Common.csproj
src/libraries/System.Data.Common/ref/System.Data.Common.manual.cs [new file with mode: 0644]
src/libraries/System.Data.SqlClient/ref/System.Data.SqlClient.Manual.cs
src/libraries/System.Data.SqlClient/ref/System.Data.SqlClient.csproj
src/libraries/System.Diagnostics.Debug/ref/System.Diagnostics.Debug.cs
src/libraries/System.Diagnostics.Process/ref/System.Diagnostics.Process.cs
src/libraries/System.Diagnostics.TraceSource/ref/System.Diagnostics.TraceSource.cs
src/libraries/System.Diagnostics.TraceSource/src/System/Diagnostics/BooleanSwitch.cs
src/libraries/System.Diagnostics.TraceSource/src/System/Diagnostics/TraceSwitch.cs
src/libraries/System.DirectoryServices/ref/System.DirectoryServices.csproj
src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs [new file with mode: 0644]
src/libraries/System.Management/ref/System.Management.cs
src/libraries/System.Management/ref/System.Management.csproj
src/libraries/System.Management/ref/System.Management.manual.cs [new file with mode: 0644]
src/libraries/System.ObjectModel/ref/System.ObjectModel.cs
src/libraries/System.Runtime.Extensions/ref/System.Runtime.Extensions.cs
src/libraries/System.Runtime.InteropServices/ref/System.Runtime.InteropServices.cs
src/libraries/System.Runtime.InteropServices/src/System/Security/SecureStringMarshal.cs
src/libraries/System.Runtime.Intrinsics/src/System.Runtime.Intrinsics.csproj
src/libraries/System.Xml.ReaderWriter/ref/System.Xml.ReaderWriter.cs
src/libraries/System.Xml.XDocument/ref/System.Xml.XDocument.cs
src/libraries/shims/ApiCompat.proj
src/libraries/shims/ApiCompatBaseline.netcoreapp.netstandard20.txt
src/libraries/shims/ApiCompatBaseline.netcoreapp.netstandard20Only.txt
tools-local/DefaultGenApiDocIds.txt

index 2300b24..aed6c58 100644 (file)
@@ -15,6 +15,7 @@ namespace System.ComponentModel
         object EndInvoke(System.IAsyncResult result);
         object Invoke(System.Delegate method, object[] args);
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class BrowsableAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.BrowsableAttribute Default;
@@ -26,6 +27,7 @@ namespace System.ComponentModel
         public override int GetHashCode() { throw null; }
         public override bool IsDefaultAttribute() { throw null; }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public partial class CategoryAttribute : System.Attribute
     {
         public CategoryAttribute() { }
@@ -48,7 +50,7 @@ namespace System.ComponentModel
         public override bool Equals(object obj) { throw null; }
         public override int GetHashCode() { throw null; }
         protected virtual string GetLocalizedString(string value) { throw null; }
-        public override bool IsDefaultAttribute() { throw null; }        
+        public override bool IsDefaultAttribute() { throw null; }
     }
     [System.ComponentModel.DesignerCategoryAttribute("Component")]
     public partial class Component : System.MarshalByRefObject, System.ComponentModel.IComponent, System.IDisposable
@@ -82,6 +84,7 @@ namespace System.ComponentModel
         public virtual System.ComponentModel.IComponent this[string name] { get { throw null; } }
         public void CopyTo(System.ComponentModel.IComponent[] array, int index) { }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public partial class DescriptionAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.DescriptionAttribute Default;
@@ -93,7 +96,8 @@ namespace System.ComponentModel
         public override int GetHashCode() { throw null; }
         public override bool IsDefaultAttribute() { throw null; }
     }
-    public sealed partial class DesignerCategoryAttribute : Attribute
+    [System.AttributeUsageAttribute(System.AttributeTargets.Class, AllowMultiple=false, Inherited=true)]
+    public sealed partial class DesignerCategoryAttribute : System.Attribute
     {
         public static readonly DesignerCategoryAttribute Component;
         public static readonly DesignerCategoryAttribute Default;
@@ -113,6 +117,7 @@ namespace System.ComponentModel
         Hidden = 0,
         Visible = 1,
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.Property | System.AttributeTargets.Method | System.AttributeTargets.Field | System.AttributeTargets.Event)]
     public sealed partial class DesignerSerializationVisibilityAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.DesignerSerializationVisibilityAttribute Content;
@@ -125,6 +130,7 @@ namespace System.ComponentModel
         public System.ComponentModel.DesignerSerializationVisibility Visibility { get; }
         public override bool IsDefaultAttribute() { throw null; }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class DesignOnlyAttribute : System.Attribute
     {
         public static readonly DesignOnlyAttribute Default;
@@ -134,8 +140,9 @@ namespace System.ComponentModel
         public bool IsDesignOnly { get; }
         public override bool Equals(object obj) { throw null; }
         public override int GetHashCode() { throw null; }
-        public override bool IsDefaultAttribute() { throw null; }        
+        public override bool IsDefaultAttribute() { throw null; }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.Property | System.AttributeTargets.Event | System.AttributeTargets.Class | System.AttributeTargets.Method)]
     public partial class DisplayNameAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.DisplayNameAttribute Default;
@@ -145,7 +152,7 @@ namespace System.ComponentModel
         protected string DisplayNameValue { get; set; }
         public override bool Equals(object obj) { throw null; }
         public override int GetHashCode() { throw null; }
-        public override bool IsDefaultAttribute() { throw null; }        
+        public override bool IsDefaultAttribute() { throw null; }
     }
     public sealed partial class EventHandlerList : System.IDisposable
     {
@@ -168,6 +175,7 @@ namespace System.ComponentModel
         void Add(System.ComponentModel.IComponent component, string name);
         void Remove(System.ComponentModel.IComponent component);
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class ImmutableObjectAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.ImmutableObjectAttribute Default;
@@ -177,8 +185,9 @@ namespace System.ComponentModel
         public bool Immutable { get; }
         public override bool Equals(object obj) { throw null; }
         public override int GetHashCode() { throw null; }
-        public override bool IsDefaultAttribute() { throw null; }        
+        public override bool IsDefaultAttribute() { throw null; }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.Class)]
     public sealed partial class InitializationEventAttribute : System.Attribute
     {
         public InitializationEventAttribute(string eventName) { }
@@ -211,6 +220,7 @@ namespace System.ComponentModel
         void BeginInit();
         void EndInit();
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class LocalizableAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.LocalizableAttribute Default;
@@ -222,6 +232,7 @@ namespace System.ComponentModel
         public override int GetHashCode() { throw null; }
         public override bool IsDefaultAttribute() { throw null; }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class MergablePropertyAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.MergablePropertyAttribute Default;
@@ -233,7 +244,7 @@ namespace System.ComponentModel
         public override int GetHashCode() { throw null; }
         public override bool IsDefaultAttribute() { throw null; }
     }
-
+    [System.AttributeUsageAttribute(System.AttributeTargets.Property)]
     public sealed partial class NotifyParentPropertyAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.NotifyParentPropertyAttribute Default;
@@ -245,6 +256,7 @@ namespace System.ComponentModel
         public override int GetHashCode() { throw null; }
         public override bool IsDefaultAttribute() { throw null; }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class ParenthesizePropertyNameAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.ParenthesizePropertyNameAttribute Default;
@@ -255,6 +267,7 @@ namespace System.ComponentModel
         public override int GetHashCode() { throw null; }
         public override bool IsDefaultAttribute() { throw null; }
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class ReadOnlyAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.ReadOnlyAttribute Default;
@@ -272,6 +285,7 @@ namespace System.ComponentModel
         None = 0,
         Repaint = 2,
     }
+    [System.AttributeUsageAttribute(System.AttributeTargets.All)]
     public sealed partial class RefreshPropertiesAttribute : System.Attribute
     {
         public static readonly System.ComponentModel.RefreshPropertiesAttribute All;
index 30126fe..e733b30 100644 (file)
@@ -797,6 +797,9 @@ namespace System.Timers
         public System.DateTime SignalTime { get { throw null; } }
     }
     public delegate void ElapsedEventHandler(object sender, System.Timers.ElapsedEventArgs e);
+    
+    [System.ComponentModel.DefaultProperty("Interval")]
+    [System.ComponentModel.DefaultEvent("Elapsed")]
     public partial class Timer : System.ComponentModel.Component, System.ComponentModel.ISupportInitialize
     {
         public Timer() { }
index d1bb466..cab7ed3 100644 (file)
@@ -5,6 +5,7 @@
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.ComponentModel.cs" />
+    <Compile Include="System.ComponentModel.manual.cs" />
     <Compile Include="System.ComponentModel.TypeConverter.cs" />
   </ItemGroup>
   <ItemGroup>
index e0d4c94..02aa1ae 100644 (file)
@@ -15,6 +15,7 @@ namespace System.ComponentModel
         public override int GetHashCode() { throw null; }
     }
     [System.ComponentModel.DesignerCategoryAttribute("Component")]
+    [System.ComponentModel.TypeConverter(typeof(ComponentConverter))]
     public partial class MarshalByValueComponent : System.ComponentModel.IComponent, System.IDisposable, System.IServiceProvider
     {
         public MarshalByValueComponent() { }
diff --git a/src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.manual.cs b/src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.manual.cs
new file mode 100644 (file)
index 0000000..232e11f
--- /dev/null
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+namespace System.ComponentModel.Design
+{
+    public abstract partial class DesignerOptionService
+    {
+        [System.ComponentModel.TypeConverter(typeof(DesignerOptionConverter))]
+        public sealed partial class DesignerOptionCollection { }
+        internal class DesignerOptionConverter { }
+    }
+}
index 50f0211..42cf83d 100644 (file)
@@ -927,6 +927,7 @@ namespace System.Data
         OriginalRows = 42,
         Unchanged = 2,
     }
+    [System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
     public partial class DataViewSetting
     {
         internal DataViewSetting() { }
index beb4ab6..9a5fad8 100644 (file)
@@ -6,6 +6,7 @@
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Data.Common.cs" />
+    <Compile Include="System.Data.Common.manual.cs" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.Collections.NonGeneric\ref\System.Collections.NonGeneric.csproj" />
diff --git a/src/libraries/System.Data.Common/ref/System.Data.Common.manual.cs b/src/libraries/System.Data.Common/ref/System.Data.Common.manual.cs
new file mode 100644 (file)
index 0000000..8b1c5b3
--- /dev/null
@@ -0,0 +1,31 @@
+// Licensed to the .NET Foundation under one or mo  re agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+
+
+namespace System.Data
+{
+    [System.ComponentModel.TypeConverter(typeof(ConstraintConverter))]
+    public abstract partial class Constraint { }
+    internal class ConstraintConverter { }
+
+    [System.ComponentModel.TypeConverter(typeof(RelationshipConverter))]
+    public partial class DataRelation { }
+    internal class RelationshipConverter { }
+}
+namespace System.Data.Common
+{
+    [System.ComponentModel.TypeConverterAttribute(typeof(DataColumnMapping.DataColumnMappingConverter))]
+    public sealed partial class DataColumnMapping 
+    {
+        internal class DataColumnMappingConverter { }
+    }
+    [System.ComponentModel.TypeConverterAttribute(typeof(DataTableMapping.DataTableMappingConverter))]
+    public sealed partial class DataTableMapping
+    {
+        internal class DataTableMappingConverter { }
+    }
+}
index cc750a8..fc6f85e 100644 (file)
@@ -17,4 +17,9 @@ namespace System.Data.SqlClient
         // SqlConection expects IDisposable methods to be implemented via System.ComponentModel.Component, which it no longer inherits from
         override protected void Dispose(bool disposing) { }
     }
+    [System.ComponentModel.TypeConverter(typeof(SqlParameterConverter))]
+    public sealed partial class SqlParameter
+    {
+      internal class SqlParameterConverter { }
+    }
 }
index 95d7bbc..fdf6ade 100644 (file)
@@ -7,7 +7,7 @@
   <ItemGroup>
     <SuppressPackageTargetFrameworkCompatibility Include="$(UAPvNextTFM);uap10.0.16299" />
     <Compile Include="System.Data.SqlClient.cs" />
-    <Compile Include="System.Data.SqlClient.Manual.cs" />
+    <Compile Condition="'$(TargetsNetFx)' != 'true'" Include="System.Data.SqlClient.Manual.cs" />
   </ItemGroup>
   <ItemGroup Condition="'$(TargetsNETCoreApp)' == 'true'">
     <Compile Include="System.Data.SqlClient.NetCoreApp.cs" />
@@ -24,6 +24,7 @@
     <Reference Include="System.Data.Common" />
     <Reference Include="System.Collections.NonGeneric" />
     <Reference Include="System.ComponentModel.Primitives" />
+    <Reference Include="System.ComponentModel.TypeConverter" />
     <Reference Include="System.Xml.ReaderWriter" />
     <Reference Include="System.Runtime.InteropServices" />
   </ItemGroup>
@@ -33,6 +34,7 @@
     <ProjectReference Include="..\..\System.Data.Common\ref\System.Data.Common.csproj" />
     <ProjectReference Include="..\..\System.Collections.NonGeneric\ref\System.Collections.NonGeneric.csproj" />
     <ProjectReference Include="..\..\System.ComponentModel.Primitives\ref\System.ComponentModel.Primitives.csproj" />
+    <ProjectReference Include="..\..\System.ObjectModel\ref\System.ObjectModel.csproj" />
     <ProjectReference Include="..\..\System.Xml.ReaderWriter\ref\System.Xml.ReaderWriter.csproj" />
     <ProjectReference Include="..\..\System.Runtime.InteropServices\ref\System.Runtime.InteropServices.csproj" />
   </ItemGroup>
index 3bb4ec5..1a5641a 100644 (file)
@@ -128,10 +128,12 @@ namespace System.Diagnostics
         public System.Type Target { get { throw null; } set { } }
         public string TargetTypeName { get { throw null; } set { } }
     }
+    [System.AttributeUsage(System.AttributeTargets.Constructor | System.AttributeTargets.Method, Inherited=false)]
     public sealed class DebuggerStepperBoundaryAttribute : System.Attribute 
     {
         public DebuggerStepperBoundaryAttribute() { throw null; }
     }
+    [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=true)]
     public sealed class DebuggerVisualizerAttribute : System.Attribute 
     {
         public DebuggerVisualizerAttribute(string visualizerTypeName) { throw null; }
index 766f281..8e33640 100644 (file)
@@ -263,6 +263,7 @@ namespace System.Diagnostics
         Normal = 0,
     }
 
+    [System.AttributeUsage(AttributeTargets.All)]
     public class MonitoringDescriptionAttribute : System.ComponentModel.DescriptionAttribute 
     {
         public MonitoringDescriptionAttribute(string description) { throw null; }
index b072d3d..6ffdc3c 100644 (file)
@@ -8,6 +8,7 @@
 
 namespace System.Diagnostics
 {
+    [System.Diagnostics.SwitchLevel(typeof(bool))]
     public partial class BooleanSwitch : System.Diagnostics.Switch
     {
         public BooleanSwitch(string displayName, string description) : base(default(string), default(string)) { }
@@ -292,6 +293,7 @@ namespace System.Diagnostics
         protected virtual string[] GetSupportedAttributes() { throw null; }
         public void TraceTransfer(int id, string message, System.Guid relatedActivityId) { }
     }
+    [System.Diagnostics.SwitchLevel(typeof(TraceLevel))]
     public partial class TraceSwitch : System.Diagnostics.Switch
     {
         public TraceSwitch(string displayName, string description) : base(default(string), default(string)) { }
@@ -304,6 +306,7 @@ namespace System.Diagnostics
         protected override void OnSwitchSettingChanged() { }
         protected override void OnValueChanged() { }
     }
+    [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Event | System.AttributeTargets.Method | System.AttributeTargets.Property)]
     public sealed class SwitchAttribute : System.Attribute 
     {
         public SwitchAttribute(string switchName, Type switchType) { throw null; }
@@ -312,6 +315,7 @@ namespace System.Diagnostics
         public System.Type SwitchType { get { throw null; } set { } }
         public static SwitchAttribute[] GetAll(System.Reflection.Assembly assembly) { throw null; }
     }
+    [System.AttributeUsage(System.AttributeTargets.Class)]
     public sealed class SwitchLevelAttribute : System.Attribute 
     {
         public SwitchLevelAttribute(Type switchLevelType) { throw null; }
index b967500..96dafc4 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Diagnostics
     ///    <para>Provides a simple on/off switch that can be used to control debugging and tracing
     ///       output.</para>
     /// </devdoc>
+    [SwitchLevel(typeof(bool))]
     public class BooleanSwitch : Switch
     {
         /// <devdoc>
index 1b24c2f..d7ba383 100644 (file)
@@ -10,6 +10,7 @@ namespace System.Diagnostics
     ///    <para>Provides a multi-level switch to enable or disable tracing
     ///       and debug output for a compiled application or framework.</para>
     /// </devdoc>
+    [SwitchLevel(typeof(TraceLevel))]
     public class TraceSwitch : Switch
     {
         /// <devdoc>
index 9eac1d4..8f12c4b 100644 (file)
@@ -5,6 +5,7 @@
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.DirectoryServices.cs" />
+    <Compile Include="System.DirectoryServices.manual.cs" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.IO.FileSystem.AccessControl\ref\System.IO.FileSystem.AccessControl.csproj" />
diff --git a/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs b/src/libraries/System.DirectoryServices/ref/System.DirectoryServices.manual.cs
new file mode 100644 (file)
index 0000000..2284ace
--- /dev/null
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+
+namespace System.DirectoryServices
+{
+    [System.ComponentModel.TypeConverter(typeof(DirectoryEntryConverter))]
+    public partial class DirectoryEntry { }
+    internal class DirectoryEntryConverter { }
+}
index 544ced2..96fd1ea 100644 (file)
@@ -353,6 +353,7 @@ namespace System.Management
         public event System.Management.ProgressEventHandler Progress { add { } remove { } }
         public void Cancel() { }
     }
+    [System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
     public abstract partial class ManagementOptions : System.ICloneable
     {
         internal ManagementOptions() { }
index 3b9f801..dce5198 100644 (file)
@@ -5,6 +5,7 @@
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="System.Management.cs" />
+    <Compile Include="System.Management.manual.cs" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\System.CodeDom\ref\System.CodeDom.csproj" />
diff --git a/src/libraries/System.Management/ref/System.Management.manual.cs b/src/libraries/System.Management/ref/System.Management.manual.cs
new file mode 100644 (file)
index 0000000..94e994b
--- /dev/null
@@ -0,0 +1,21 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+
+namespace System.Management
+{
+    [System.ComponentModel.TypeConverter(typeof(ManagementPathConverter))]
+    public partial class ManagementPath { }
+    internal class ManagementPathConverter { }
+
+    [System.ComponentModel.TypeConverter(typeof(ManagementQueryConverter))]
+    public abstract partial class ManagementQuery { }
+    internal class ManagementQueryConverter { }
+
+    [System.ComponentModel.TypeConverter(typeof(ManagementScopeConverter))]
+    public partial class ManagementScope { }
+    internal class ManagementScopeConverter { }
+}
index fbc9004..5d001a1 100644 (file)
@@ -216,6 +216,8 @@ namespace System.Reflection
 }
 namespace System.Windows.Input
 {
+    [System.ComponentModel.TypeConverterAttribute("System.Windows.Input.CommandConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
+    [System.Windows.Markup.ValueSerializerAttribute("System.Windows.Input.CommandValueSerializer, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
     public partial interface ICommand
     {
         event System.EventHandler CanExecuteChanged;
index cf5cdad..d1dbf5d 100644 (file)
@@ -995,6 +995,7 @@ namespace System
         public ContextMarshalException(string message) { }
         public ContextMarshalException(string message, System.Exception inner) { }
     }
+    [System.AttributeUsage(AttributeTargets.Field, Inherited = false)]
     public partial class ContextStaticAttribute : System.Attribute
     {
         public ContextStaticAttribute() { }
index ae7f20a..40a63b2 100644 (file)
@@ -694,7 +694,7 @@ namespace System.Runtime.InteropServices
         public static void ZeroFreeGlobalAllocUnicode(System.IntPtr s) { }
         public static void ZeroFreeCoTaskMemUTF8(System.IntPtr s) { }
     }
-    [System.AttributeUsageAttribute((System.AttributeTargets)(64), Inherited=false)]
+    [System.AttributeUsageAttribute((System.AttributeTargets)(64), Inherited=false, AllowMultiple=false)]
     public sealed partial class ManagedToNativeComInteropStubAttribute : System.Attribute
     {
         public ManagedToNativeComInteropStubAttribute(System.Type classType, string methodName) { }
index be9a4e2..64c5644 100644 (file)
@@ -6,6 +6,7 @@ using System.Runtime.InteropServices;
 
 namespace System.Security
 {
+    [CLSCompliantAttribute(false)]
     public static class SecureStringMarshal
     {
         public static IntPtr SecureStringToCoTaskMemAnsi(SecureString s) => Marshal.SecureStringToCoTaskMemAnsi(s);
index fcc51bc..43d2b06 100644 (file)
@@ -2,6 +2,7 @@
   <PropertyGroup>
     <AssemblyName>System.Runtime.Intrinsics</AssemblyName>
     <IsPartialFacadeAssembly>true</IsPartialFacadeAssembly>
+    <ClsCompliant>false</ClsCompliant>
     <ProjectGuid>{543FBFE5-E9E4-4631-8242-911A707FE818}</ProjectGuid>
     <Configurations>netcoreapp-Unix-Debug;netcoreapp-Unix-Release;netcoreapp-Windows_NT-Debug;netcoreapp-Windows_NT-Release</Configurations>
   </PropertyGroup>
index 625e303..1ad56f1 100644 (file)
@@ -2426,7 +2426,7 @@ namespace System.Xml.Serialization
         void ReadXml(System.Xml.XmlReader reader);
         void WriteXml(System.Xml.XmlWriter writer);
     }
-    [System.AttributeUsageAttribute((System.AttributeTargets)(10624))]
+    [System.AttributeUsageAttribute((System.AttributeTargets)(10624), AllowMultiple=false)]
     public partial class XmlAnyAttributeAttribute : System.Attribute
     {
         public XmlAnyAttributeAttribute() { }
@@ -2480,7 +2480,7 @@ namespace System.Xml.Serialization
     public partial class XmlIgnoreAttribute : System.Attribute
     {
         public XmlIgnoreAttribute() { }
-    }[System.AttributeUsageAttribute((System.AttributeTargets)(10624))]
+    }[System.AttributeUsageAttribute((System.AttributeTargets)(10624), AllowMultiple=false)]
     public partial class XmlNamespaceDeclarationsAttribute : System.Attribute
     {
         public XmlNamespaceDeclarationsAttribute() { }
index 4d97c7a..42e396f 100644 (file)
@@ -210,6 +210,7 @@ namespace System.Xml.Linq
         public override void WriteTo(System.Xml.XmlWriter writer) { }
         public override System.Threading.Tasks.Task WriteToAsync(System.Xml.XmlWriter writer, System.Threading.CancellationToken cancellationToken) { throw null; }
     }
+    [System.Xml.Serialization.XmlSchemaProvider(null, IsAny=true)]
     public partial class XElement : System.Xml.Linq.XContainer, System.Xml.Serialization.IXmlSerializable
     {
         public XElement(System.Xml.Linq.XElement other) { }
index fa0122e..47dccd4 100644 (file)
@@ -42,6 +42,8 @@
   >
     <PropertyGroup>
       <ApiCompatArgs>$(ApiCompatArgs) -implDirs:"$(ApiCompatImplementationDirs)"</ApiCompatArgs>
+      <!-- Uncomment once we have a new buildtools which tests for attributes 
+      <ApiCompatArgs Condition="'$(ApiCompatExcludeAttributeList)' != ''">$(ApiCompatArgs) -excludeAttributes:"$(ApiCompatExcludeAttributeList)"</ApiCompatArgs> -->
       <BaselineApiCompatArgs Condition="Exists($(ApiCompatBaselineIgnoreFile))">-baseline:"$(ApiCompatBaselineIgnoreFile)"</BaselineApiCompatArgs>
       <ApiCompatExitCode>0</ApiCompatExitCode>
 
index 9f5ceda..8a1db79 100644 (file)
@@ -27,4 +27,20 @@ TypesMustExist : Type 'System.ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>' doe
 # As part of https://github.com/dotnet/corefx/pull/30233 these setters were removed. We need to baseline these until we can start harvesting the newer package that has them removed.
 MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.Certificates.set(System.Security.Cryptography.X509Certificates.X509Certificate2Collection)' does not exist in the implementation but it does exist in the contract.
 MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.SignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract.
-MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.UnsignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract.
\ No newline at end of file
+MembersMustExist : Member 'System.Security.Cryptography.Pkcs.CmsSigner.UnsignedAttributes.set(System.Security.Cryptography.CryptographicAttributeObjectCollection)' does not exist in the implementation but it does exist in the contract.
+
+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.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.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.
+
+# AttributeTargets.Class was added
+CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute' changed from '[AttributeUsageAttribute((AttributeTargets)(748), Inherited=false, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute((AttributeTargets)(749), Inherited=false, AllowMultiple=false)]' in the implementation.
\ No newline at end of file
index b5b3f20..fdb7e58 100644 (file)
@@ -1,4 +1,12 @@
 Compat issues with assembly netstandard:
 TypeCannotChangeClassification : Type 'System.RuntimeArgumentHandle' is a 'ref struct' in the implementation but is a 'struct' in the contract.
 TypeCannotChangeClassification : Type 'System.TypedReference' is a 'ref struct' in the implementation but is a 'struct' in the contract.
-Total Issues: 2
+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.
+CannotChangeAttribute : Attribute 'System.AttributeUsageAttribute' on 'System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute' changed from '[AttributeUsageAttribute((AttributeTargets)(748), Inherited=false, AllowMultiple=false)]' in the contract to '[AttributeUsageAttribute((AttributeTargets)(749), Inherited=false, AllowMultiple=false)]' in the implementation.
+
+# System.Runtime is passed in (incorrectly) as a contract assembly for netstandard.  This causes issues because CCI can't determine a winner for duplicate types
+CannotRemoveAttribute : Attribute 'Microsoft.Cci.DummyTypeReference' exists on 'System.Threading.Tasks.ValueTask' in the contract but not the implementation.
+CannotRemoveAttribute : Attribute 'Microsoft.Cci.DummyTypeReference' exists on 'System.Threading.Tasks.ValueTask<TResult>' in the contract but not the implementation.
\ No newline at end of file
index 8432a7b..4c0ac6e 100644 (file)
@@ -4,7 +4,7 @@ T:System.ComponentModel.DesignerAttribute
 T:System.ComponentModel.Design.Serialization.DesignerSerializerAttribute
 T:System.ComponentModel.Design.Serialization.RootDesignerSerializerAttribute
 T:System.ComponentModel.EditorAttribute
-T:System.ComponentModel.TypeConverterAttribute
+T:System.ComponentModel.ToolboxItemAttribute
 T:System.Configuration.ConfigurationPropertyAttribute
 T:System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
 T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute
@@ -15,7 +15,7 @@ T:System.Diagnostics.DebuggerNonUserCodeAttribute
 T:System.Diagnostics.DebuggerStepThroughAttribute
 T:System.Diagnostics.DebuggerTypeProxyAttribute
 T:System.Diagnostics.MonitoringDescriptionAttribute
-T:System.IO.IODescriptionAttribut
+T:System.IO.IODescriptionAttribute
 T:System.Runtime.CompilerServices.AsyncStateMachineAttribute
 T:System.Runtime.CompilerServices.CompilerGeneratedAttribute
 T:System.Runtime.CompilerServices.IteratorStateMachineAttribute
@@ -43,4 +43,15 @@ T:System.Security.SuppressUnmanagedCodeSecurityAttribute
 T:System.Xml.Serialization.XmlAttributeAttribute
 T:System.Xml.Serialization.XmlEnumAttribute
 T:System.Xml.Serialization.XmlIgnoreAttribute
-T:System.Xml.Serialization.XmlRootAttribute
\ No newline at end of file
+T:System.Xml.Serialization.XmlRootAttribute
+T:System.Runtime.Versioning.NonVersionableAttribute
+T:System.Runtime.CompilerServices.IntrinsicAttribute
+T:System.Runtime.CompilerServices.ExtensionAttribute
+T:System.Drawing.SRDescriptionAttribute
+T:System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute
+T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute
+T:System.Reflection.DefaultMemberAttribute
+
+// These do not need to be persisted in the implementation
+T:System.ComponentModel.EditorBrowsableAttribute
+T:System.ObsoleteAttribute
\ No newline at end of file