In #39989 (comment) we decided to rename these attributes in order to unify platform-specific attribution with marking platforms as unsupported. Please coordinate this change with @wli3 because he'll have to submit a follow up to his PR.
namespace System.Runtime.Versioning
{
public abstract class OSPlatformAttribute : Attribute
{
private protected OSPlatformAttribute(string platformName);
public string PlatformName { get; }
}
[AttributeUsage(AttributeTargets.Assembly,
AllowMultiple=false, Inherited=false)]
public sealed class TargetPlatformAttribute : OSPlatformAttribute
{
public TargetPlatformAttribute(string platformName);
}
[AttributeUsage(AttributeTargets.Assembly |
AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Enum |
AttributeTargets.Event |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Module |
AttributeTargets.Property |
AttributeTargets.Struct,
AllowMultiple=true, Inherited=false)]
- public sealed class MinimumOSPlatformAttribute : OSPlatformAttribute
+ public sealed class SupportedOSPlatformAttribute : OSPlatformAttribute
{
- public MinimumOSPlatformAttribute(string platformName);
+ public SupportedOSPlatformAttribute(string platformName);
}
[AttributeUsage(AttributeTargets.Assembly |
AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Enum |
AttributeTargets.Event |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Module |
AttributeTargets.Property |
AttributeTargets.Struct,
AllowMultiple=true, Inherited=false)]
- public sealed class RemovedInOSPlatformAttribute : OSPlatformAttribute
+ public sealed class UnsupportedOSPlatformAttribute : OSPlatformAttribute
{
- public RemovedInOSPlatformAttribute(string platformName);
+ public UnsupportedOSPlatformAttribute(string platformName);
}
[AttributeUsage(AttributeTargets.Assembly |
AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Enum |
AttributeTargets.Event |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Module |
AttributeTargets.Property |
AttributeTargets.Struct,
AllowMultiple=true, Inherited=false)]
public sealed class ObsoletedInOSPlatformAttribute : OSPlatformAttribute
{
public ObsoletedInOSPlatformAttribute(string platformName);
public ObsoletedInOSPlatformAttribute(string platformName, string message);
public string? Message { get; }
public string? Url { get; set; }
}
}
In #39989 (comment) we decided to rename these attributes in order to unify platform-specific attribution with marking platforms as unsupported. Please coordinate this change with @wli3 because he'll have to submit a follow up to his PR.
namespace System.Runtime.Versioning { public abstract class OSPlatformAttribute : Attribute { private protected OSPlatformAttribute(string platformName); public string PlatformName { get; } } [AttributeUsage(AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)] public sealed class TargetPlatformAttribute : OSPlatformAttribute { public TargetPlatformAttribute(string platformName); } [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Enum | AttributeTargets.Event | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Module | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] - public sealed class MinimumOSPlatformAttribute : OSPlatformAttribute + public sealed class SupportedOSPlatformAttribute : OSPlatformAttribute { - public MinimumOSPlatformAttribute(string platformName); + public SupportedOSPlatformAttribute(string platformName); } [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Enum | AttributeTargets.Event | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Module | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] - public sealed class RemovedInOSPlatformAttribute : OSPlatformAttribute + public sealed class UnsupportedOSPlatformAttribute : OSPlatformAttribute { - public RemovedInOSPlatformAttribute(string platformName); + public UnsupportedOSPlatformAttribute(string platformName); } [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Enum | AttributeTargets.Event | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Module | AttributeTargets.Property | AttributeTargets.Struct, AllowMultiple=true, Inherited=false)] public sealed class ObsoletedInOSPlatformAttribute : OSPlatformAttribute { public ObsoletedInOSPlatformAttribute(string platformName); public ObsoletedInOSPlatformAttribute(string platformName, string message); public string? Message { get; } public string? Url { get; set; } } }