1
0
mirror of synced 2025-12-19 18:06:02 -05:00

Fix APIDiff to include NETCore references for AspNetCore and WindowsDesktop (#9989)

* Initial plan

* Add NETCore reference support for AspNetCore and WindowsDesktop API diffs

Co-authored-by: ericstj <8918108+ericstj@users.noreply.github.com>

* Run the updated script

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ericstj <8918108+ericstj@users.noreply.github.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
This commit is contained in:
Copilot
2025-07-21 14:15:25 -07:00
committed by GitHub
parent 79822ab09a
commit 6b610a7544
12 changed files with 157 additions and 106 deletions

View File

@@ -6,7 +6,7 @@
public sealed class CircuitOptions
{
+ public Microsoft.Extensions.Caching.Hybrid.HybridCache? HybridPersistenceCache { get; set; }
+ public System.Nullable<System.TimeSpan> PersistedCircuitDistributedRetentionPeriod { get; set; }
+ public System.TimeSpan? PersistedCircuitDistributedRetentionPeriod { get; set; }
+ public int PersistedCircuitInMemoryMaxRetained { get; set; }
+ public System.TimeSpan PersistedCircuitInMemoryRetentionPeriod { get; set; }
}

View File

@@ -3,7 +3,7 @@
```diff
namespace Microsoft.AspNetCore.Components.Routing
{
public sealed class NotFoundEventArgs
public sealed class NotFoundEventArgs : System.EventArgs
{
- public NotFoundEventArgs();
+ public NotFoundEventArgs(string url);

View File

@@ -3,36 +3,43 @@
```diff
- namespace Microsoft.AspNetCore.Http.Validation
- {
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public interface IValidatableInfo
- {
- System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
- }
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public interface IValidatableInfoResolver
- {
- bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableInfo);
- bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableInfo);
- }
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public abstract class ValidatableParameterInfo : Microsoft.AspNetCore.Http.Validation.IValidatableInfo
- {
- protected ValidatableParameterInfo(System.Type parameterType, string name, string displayName);
- protected abstract System.ComponentModel.DataAnnotations.ValidationAttribute[] GetValidationAttributes();
- public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
- }
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public abstract class ValidatablePropertyInfo : Microsoft.AspNetCore.Http.Validation.IValidatableInfo
- {
- protected ValidatablePropertyInfo(System.Type declaringType, System.Type propertyType, string name, string displayName);
- protected abstract System.ComponentModel.DataAnnotations.ValidationAttribute[] GetValidationAttributes();
- public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
- }
- public sealed class ValidatableTypeAttribute
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public sealed class ValidatableTypeAttribute : System.Attribute
- {
- public ValidatableTypeAttribute();
- }
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public abstract class ValidatableTypeInfo : Microsoft.AspNetCore.Http.Validation.IValidatableInfo
- {
- protected ValidatableTypeInfo(System.Type type, System.Collections.Generic.IReadOnlyList<Microsoft.AspNetCore.Http.Validation.ValidatablePropertyInfo> members);
- public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.AspNetCore.Http.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
- }
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public sealed class ValidateContext
- {
- public ValidateContext();
@@ -45,9 +52,12 @@
- public class ValidationOptions
- {
- public ValidationOptions();
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableInfo);
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.AspNetCore.Http.Validation.IValidatableInfo? validatableTypeInfo);
- public int MaxDepth { get; set; }
- [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
- public System.Collections.Generic.IList<Microsoft.AspNetCore.Http.Validation.IValidatableInfoResolver> Resolvers { get; }
- }
- }

View File

@@ -3,8 +3,7 @@
```diff
namespace Microsoft.AspNetCore.Identity
{
public class SignInManager<TUser>
where TUser : class
public class SignInManager<TUser> where TUser : class
{
+ public SignInManager(Microsoft.AspNetCore.Identity.UserManager<TUser> userManager, Microsoft.AspNetCore.Http.IHttpContextAccessor contextAccessor, Microsoft.AspNetCore.Identity.IUserClaimsPrincipalFactory<TUser> claimsFactory, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Identity.IdentityOptions> optionsAccessor, Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Identity.SignInManager<TUser>> logger, Microsoft.AspNetCore.Authentication.IAuthenticationSchemeProvider schemes, Microsoft.AspNetCore.Identity.IUserConfirmation<TUser> confirmation, Microsoft.AspNetCore.Identity.IPasskeyHandler<TUser> passkeyHandler);
+ public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Identity.PasskeyCreationOptions> ConfigurePasskeyCreationOptionsAsync(Microsoft.AspNetCore.Identity.PasskeyCreationArgs creationArgs);
@@ -21,7 +20,7 @@
+ {
+ public AuthenticatorSelectionCriteria();
+ public string? AuthenticatorAttachment { get; set; }
+ public bool? RequireResidentKey { get; }
+ public bool RequireResidentKey { get; }
+ public string? ResidentKey { get; set; }
+ public string UserVerification { get; set; }
+ }
@@ -41,8 +40,7 @@
+ System.Threading.Tasks.Task<Microsoft.AspNetCore.Identity.PasskeyAssertionResult<TUser>> PerformAssertionAsync(Microsoft.AspNetCore.Identity.PasskeyAssertionContext<TUser> context);
+ System.Threading.Tasks.Task<Microsoft.AspNetCore.Identity.PasskeyAttestationResult> PerformAttestationAsync(Microsoft.AspNetCore.Identity.PasskeyAttestationContext<TUser> context);
+ }
+ public sealed class PasskeyAssertionContext<TUser>
+ where TUser : class
+ public sealed class PasskeyAssertionContext<TUser> where TUser : class
+ {
+ public PasskeyAssertionContext();
+ public required string CredentialJson { get; init; }
@@ -58,16 +56,17 @@
+ public static Microsoft.AspNetCore.Identity.PasskeyAssertionResult<TUser> Success<TUser>(Microsoft.AspNetCore.Identity.UserPasskeyInfo passkey, TUser user)
+ where TUser : class;
+ }
+ public sealed class PasskeyAssertionResult<TUser>
+ where TUser : class
+ public sealed class PasskeyAssertionResult<TUser> where TUser : class
+ {
+ public Microsoft.AspNetCore.Identity.PasskeyException? Failure { get; }
+ public Microsoft.AspNetCore.Identity.UserPasskeyInfo? Passkey { get; }
+ public bool? Succeeded { get; }
+ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Passkey")]
+ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "User")]
+ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(false, "Failure")]
+ public bool Succeeded { get; }
+ public TUser? User { get; }
+ }
+ public sealed class PasskeyAttestationContext<TUser>
+ where TUser : class
+ public sealed class PasskeyAttestationContext<TUser> where TUser : class
+ {
+ public PasskeyAttestationContext();
+ public required string CredentialJson { get; init; }
@@ -81,14 +80,16 @@
+ public static Microsoft.AspNetCore.Identity.PasskeyAttestationResult Success(Microsoft.AspNetCore.Identity.UserPasskeyInfo passkey);
+ public Microsoft.AspNetCore.Identity.PasskeyException? Failure { get; }
+ public Microsoft.AspNetCore.Identity.UserPasskeyInfo? Passkey { get; }
+ public bool? Succeeded { get; }
+ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(true, "Passkey")]
+ [System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute(false, "Failure")]
+ public bool Succeeded { get; }
+ }
+ public sealed class PasskeyCreationArgs
+ {
+ public PasskeyCreationArgs(Microsoft.AspNetCore.Identity.PasskeyUserEntity userEntity);
+ public string Attestation { get; set; }
+ public Microsoft.AspNetCore.Identity.AuthenticatorSelectionCriteria? AuthenticatorSelection { get; set; }
+ public System.Nullable<System.Text.Json.JsonElement> Extensions { get; set; }
+ public System.Text.Json.JsonElement? Extensions { get; set; }
+ public Microsoft.AspNetCore.Identity.PasskeyUserEntity UserEntity { get; }
+ }
+ public sealed class PasskeyCreationOptions
@@ -98,22 +99,21 @@
+ public override string ToString();
+ public Microsoft.AspNetCore.Identity.PasskeyUserEntity UserEntity { get; }
+ }
+ public sealed class PasskeyException
+ public sealed class PasskeyException : System.Exception
+ {
+ public PasskeyException(string message, System.Exception? innerException);
+ public PasskeyException(string message);
+ }
+ public sealed class PasskeyOriginInfo
+ public readonly struct PasskeyOriginInfo
+ {
+ public PasskeyOriginInfo(string origin, bool crossOrigin);
+ public bool CrossOrigin { get; }
+ public string Origin { get; }
+ }
+ public sealed class PasskeyRequestArgs<TUser>
+ where TUser : class
+ public sealed class PasskeyRequestArgs<TUser> where TUser : class
+ {
+ public PasskeyRequestArgs();
+ public System.Nullable<System.Text.Json.JsonElement> Extensions { get; set; }
+ public System.Text.Json.JsonElement? Extensions { get; set; }
+ public TUser? User { get; set; }
+ public string UserVerification { get; set; }
+ }

View File

@@ -5,7 +5,7 @@
{
public class HttpSysOptions
{
- public System.Action<Microsoft.AspNetCore.Http.Features.IFeatureCollection, System.ReadOnlySpan<byte>> TlsClientHelloBytesCallback { get; set; }
- public System.Action<Microsoft.AspNetCore.Http.Features.IFeatureCollection, System.ReadOnlySpan<byte>>? TlsClientHelloBytesCallback { get; set; }
}
+ public interface IHttpSysRequestPropertyFeature
+ {

View File

@@ -5,7 +5,7 @@
{
public class Matcher
{
+ public Matcher(System.StringComparison comparisonType = 5, bool preserveFilterOrder = false);
+ public Matcher(System.StringComparison comparisonType = System.StringComparison.OrdinalIgnoreCase, bool preserveFilterOrder = false);
}
}
```

View File

@@ -11,8 +11,7 @@
{
+ public static readonly System.Version Version3;
}
public class UserManager<TUser>
where TUser : class
public class UserManager<TUser> : System.IDisposable where TUser : class
{
+ public virtual System.Threading.Tasks.Task<TUser?> FindByPasskeyIdAsync(byte[] credentialId);
+ public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Identity.UserPasskeyInfo?> GetPasskeyAsync(TUser user, byte[] credentialId);
@@ -21,7 +20,7 @@
+ public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Identity.IdentityResult> SetPasskeyAsync(TUser user, Microsoft.AspNetCore.Identity.UserPasskeyInfo passkey);
+ public virtual bool SupportsUserPasskey { get; }
}
+ public interface IUserPasskeyStore<TUser> : Microsoft.AspNetCore.Identity.IUserStore<TUser> where TUser : class
+ public interface IUserPasskeyStore<TUser> : Microsoft.AspNetCore.Identity.IUserStore<TUser>, System.IDisposable where TUser : class
+ {
+ System.Threading.Tasks.Task<TUser?> FindByPasskeyIdAsync(byte[] credentialId, System.Threading.CancellationToken cancellationToken);
+ System.Threading.Tasks.Task<Microsoft.AspNetCore.Identity.UserPasskeyInfo?> FindPasskeyAsync(TUser user, byte[] credentialId, System.Threading.CancellationToken cancellationToken);
@@ -40,12 +39,11 @@
+ public int ChallengeSize { get; set; }
+ public string? ServerDomain { get; set; }
+ public System.TimeSpan Timeout { get; set; }
+ public sealed class CredentialBackupPolicy
+ public enum CredentialBackupPolicy
+ {
+ public const Microsoft.AspNetCore.Identity.PasskeyOptions.CredentialBackupPolicy Allowed = 1;
+ public const Microsoft.AspNetCore.Identity.PasskeyOptions.CredentialBackupPolicy Disallowed = 2;
+ public const Microsoft.AspNetCore.Identity.PasskeyOptions.CredentialBackupPolicy Required = 0;
+ public int value__;
+ Required = 0,
+ Allowed = 1,
+ Disallowed = 2,
+ }
+ }
+ public class UserPasskeyInfo

View File

@@ -3,8 +3,7 @@
```diff
namespace Microsoft.AspNetCore.Identity
{
+ public class IdentityUserPasskey<TKey>
+ where TKey : System.IEquatable<TKey>
+ public class IdentityUserPasskey<TKey> where TKey : System.IEquatable<TKey>
+ {
+ public IdentityUserPasskey();
+ public virtual byte[] AttestationObject { get; set; }

View File

@@ -10,39 +10,46 @@
+ }
+ namespace Microsoft.Extensions.Validation
+ {
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public interface IValidatableInfo
+ {
+ System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
+ }
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public interface IValidatableInfoResolver
+ {
+ bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.Extensions.Validation.IValidatableInfo? validatableInfo);
+ bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.Extensions.Validation.IValidatableInfo? validatableInfo);
+ }
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public abstract class ValidatableParameterInfo : Microsoft.Extensions.Validation.IValidatableInfo
+ {
+ protected ValidatableParameterInfo(System.Type parameterType, string name, string displayName);
+ protected abstract System.ComponentModel.DataAnnotations.ValidationAttribute[] GetValidationAttributes();
+ public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
+ }
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public abstract class ValidatablePropertyInfo : Microsoft.Extensions.Validation.IValidatableInfo
+ {
+ protected ValidatablePropertyInfo(System.Type declaringType, System.Type propertyType, string name, string displayName);
+ protected abstract System.ComponentModel.DataAnnotations.ValidationAttribute[] GetValidationAttributes();
+ public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
+ }
+ public sealed class ValidatableTypeAttribute
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public sealed class ValidatableTypeAttribute : System.Attribute
+ {
+ public ValidatableTypeAttribute();
+ }
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public abstract class ValidatableTypeInfo : Microsoft.Extensions.Validation.IValidatableInfo
+ {
+ protected ValidatableTypeInfo(System.Type type, System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.Validation.ValidatablePropertyInfo> members);
+ public virtual System.Threading.Tasks.Task ValidateAsync(object? value, Microsoft.Extensions.Validation.ValidateContext context, System.Threading.CancellationToken cancellationToken);
+ }
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public sealed class ValidateContext
+ {
+ public event System.Action<Microsoft.Extensions.Validation.ValidationErrorContext?>? OnValidationError { add; remove; }
+ public event System.Action<Microsoft.Extensions.Validation.ValidationErrorContext>? OnValidationError { add; remove; }
+ public ValidateContext();
+ public int CurrentDepth { get; set; }
+ public string CurrentValidationPath { get; set; }
@@ -50,7 +57,9 @@
+ public System.Collections.Generic.Dictionary<string, string[]>? ValidationErrors { get; set; }
+ public required Microsoft.Extensions.Validation.ValidationOptions ValidationOptions { get; set; }
+ }
+ public sealed class ValidationErrorContext
+ [System.Diagnostics.DebuggerDisplayAttribute("{GetDebuggerDisplay(),nq}")]
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public readonly struct ValidationErrorContext
+ {
+ public required object? Container { get; init; }
+ public required System.Collections.Generic.IReadOnlyList<string> Errors { get; init; }
@@ -60,9 +69,12 @@
+ public class ValidationOptions
+ {
+ public ValidationOptions();
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public bool TryGetValidatableParameterInfo(System.Reflection.ParameterInfo parameterInfo, out Microsoft.Extensions.Validation.IValidatableInfo? validatableInfo);
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public bool TryGetValidatableTypeInfo(System.Type type, out Microsoft.Extensions.Validation.IValidatableInfo? validatableTypeInfo);
+ public int MaxDepth { get; set; }
+ [System.Diagnostics.CodeAnalysis.ExperimentalAttribute("ASP0029", UrlFormat = "https://aka.ms/aspnet/analyzer/{0}")]
+ public System.Collections.Generic.IList<Microsoft.Extensions.Validation.IValidatableInfoResolver> Resolvers { get; }
+ }
+ }

View File

@@ -3,28 +3,30 @@
```diff
+ namespace System.Formats.Cbor
+ {
+ public sealed class CborConformanceMode
+ public enum CborConformanceMode
+ {
+ public const System.Formats.Cbor.CborConformanceMode Canonical = 2;
+ public const System.Formats.Cbor.CborConformanceMode Ctap2Canonical = 3;
+ public const System.Formats.Cbor.CborConformanceMode Lax = 0;
+ public const System.Formats.Cbor.CborConformanceMode Strict = 1;
+ public int value__;
+ Lax = 0,
+ Strict = 1,
+ Canonical = 2,
+ Ctap2Canonical = 3,
+ }
+ public class CborContentException
+ public class CborContentException : System.Exception
+ {
+ [System.ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId = "SYSLIB0051", UrlFormat = "https://aka.ms/dotnet-warnings/{0}")]
+ protected CborContentException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
+ public CborContentException(string? message, System.Exception? inner);
+ public CborContentException(string? message);
+ protected CborContentException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
+ }
+ public class CborReader
+ {
+ public CborReader(System.ReadOnlyMemory<byte> data, System.Formats.Cbor.CborConformanceMode conformanceMode = 1, bool allowMultipleRootLevelValues = false);
+ public CborReader(System.ReadOnlyMemory<byte> data, System.Formats.Cbor.CborConformanceMode conformanceMode = System.Formats.Cbor.CborConformanceMode.Strict, bool allowMultipleRootLevelValues = false);
+ public System.Formats.Cbor.CborReaderState PeekState();
+ [System.CLSCompliantAttribute(false)]
+ public System.Formats.Cbor.CborTag PeekTag();
+ public System.Numerics.BigInteger ReadBigInteger();
+ public bool ReadBoolean();
+ public byte[] ReadByteString();
+ [System.CLSCompliantAttribute(false)]
+ public ulong ReadCborNegativeIntegerRepresentation();
+ public System.DateTimeOffset ReadDateTimeOffset();
+ public decimal ReadDecimal();
@@ -42,13 +44,16 @@
+ public void ReadNull();
+ public System.Formats.Cbor.CborSimpleValue ReadSimpleValue();
+ public float ReadSingle();
+ public System.Nullable<int> ReadStartArray();
+ public int? ReadStartArray();
+ public void ReadStartIndefiniteLengthByteString();
+ public void ReadStartIndefiniteLengthTextString();
+ public System.Nullable<int> ReadStartMap();
+ public int? ReadStartMap();
+ [System.CLSCompliantAttribute(false)]
+ public System.Formats.Cbor.CborTag ReadTag();
+ public string ReadTextString();
+ [System.CLSCompliantAttribute(false)]
+ public uint ReadUInt32();
+ [System.CLSCompliantAttribute(false)]
+ public ulong ReadUInt64();
+ public System.DateTimeOffset ReadUnixTimeSeconds();
+ public void Reset(System.ReadOnlyMemory<byte> data);
@@ -61,62 +66,60 @@
+ public System.Formats.Cbor.CborConformanceMode ConformanceMode { get; }
+ public int CurrentDepth { get; }
+ }
+ public sealed class CborReaderState
+ public enum CborReaderState
+ {
+ public const System.Formats.Cbor.CborReaderState Boolean = 19;
+ public const System.Formats.Cbor.CborReaderState ByteString = 3;
+ public const System.Formats.Cbor.CborReaderState DoublePrecisionFloat = 17;
+ public const System.Formats.Cbor.CborReaderState EndArray = 10;
+ public const System.Formats.Cbor.CborReaderState EndIndefiniteLengthByteString = 5;
+ public const System.Formats.Cbor.CborReaderState EndIndefiniteLengthTextString = 8;
+ public const System.Formats.Cbor.CborReaderState EndMap = 12;
+ public const System.Formats.Cbor.CborReaderState Finished = 20;
+ public const System.Formats.Cbor.CborReaderState HalfPrecisionFloat = 15;
+ public const System.Formats.Cbor.CborReaderState NegativeInteger = 2;
+ public const System.Formats.Cbor.CborReaderState Null = 18;
+ public const System.Formats.Cbor.CborReaderState SimpleValue = 14;
+ public const System.Formats.Cbor.CborReaderState SinglePrecisionFloat = 16;
+ public const System.Formats.Cbor.CborReaderState StartArray = 9;
+ public const System.Formats.Cbor.CborReaderState StartIndefiniteLengthByteString = 4;
+ public const System.Formats.Cbor.CborReaderState StartIndefiniteLengthTextString = 7;
+ public const System.Formats.Cbor.CborReaderState StartMap = 11;
+ public const System.Formats.Cbor.CborReaderState Tag = 13;
+ public const System.Formats.Cbor.CborReaderState TextString = 6;
+ public const System.Formats.Cbor.CborReaderState Undefined = 0;
+ public const System.Formats.Cbor.CborReaderState UnsignedInteger = 1;
+ public int value__;
+ Undefined = 0,
+ UnsignedInteger = 1,
+ EndArray = 10,
+ StartMap = 11,
+ EndMap = 12,
+ Tag = 13,
+ SimpleValue = 14,
+ HalfPrecisionFloat = 15,
+ SinglePrecisionFloat = 16,
+ DoublePrecisionFloat = 17,
+ Null = 18,
+ Boolean = 19,
+ NegativeInteger = 2,
+ Finished = 20,
+ ByteString = 3,
+ StartIndefiniteLengthByteString = 4,
+ EndIndefiniteLengthByteString = 5,
+ TextString = 6,
+ StartIndefiniteLengthTextString = 7,
+ EndIndefiniteLengthTextString = 8,
+ StartArray = 9,
+ }
+ public sealed class CborSimpleValue
+ public enum CborSimpleValue : byte
+ {
+ public const System.Formats.Cbor.CborSimpleValue False = 20;
+ public const System.Formats.Cbor.CborSimpleValue Null = 22;
+ public const System.Formats.Cbor.CborSimpleValue True = 21;
+ public const System.Formats.Cbor.CborSimpleValue Undefined = 23;
+ public byte value__;
+ False = 20,
+ True = 21,
+ Null = 22,
+ Undefined = 23,
+ }
+ public sealed class CborTag
+ [System.CLSCompliantAttribute(false)]
+ public enum CborTag : ulong
+ {
+ public const System.Formats.Cbor.CborTag Base16StringLaterEncoding = 23UL;
+ public const System.Formats.Cbor.CborTag Base64 = 34UL;
+ public const System.Formats.Cbor.CborTag Base64StringLaterEncoding = 22UL;
+ public const System.Formats.Cbor.CborTag Base64Url = 33UL;
+ public const System.Formats.Cbor.CborTag Base64UrlLaterEncoding = 21UL;
+ public const System.Formats.Cbor.CborTag BigFloat = 5UL;
+ public const System.Formats.Cbor.CborTag DateTimeString = 0UL;
+ public const System.Formats.Cbor.CborTag DecimalFraction = 4UL;
+ public const System.Formats.Cbor.CborTag EncodedCborDataItem = 24UL;
+ public const System.Formats.Cbor.CborTag MimeMessage = 36UL;
+ public const System.Formats.Cbor.CborTag NegativeBigNum = 3UL;
+ public const System.Formats.Cbor.CborTag Regex = 35UL;
+ public const System.Formats.Cbor.CborTag SelfDescribeCbor = 55799UL;
+ public const System.Formats.Cbor.CborTag UnixTimeSeconds = 1UL;
+ public const System.Formats.Cbor.CborTag UnsignedBigNum = 2UL;
+ public const System.Formats.Cbor.CborTag Uri = 32UL;
+ public ulong value__;
+ DateTimeString = 0UL,
+ UnixTimeSeconds = 1UL,
+ UnsignedBigNum = 2UL,
+ Base64UrlLaterEncoding = 21UL,
+ Base64StringLaterEncoding = 22UL,
+ Base16StringLaterEncoding = 23UL,
+ EncodedCborDataItem = 24UL,
+ NegativeBigNum = 3UL,
+ Uri = 32UL,
+ Base64Url = 33UL,
+ Base64 = 34UL,
+ Regex = 35UL,
+ MimeMessage = 36UL,
+ DecimalFraction = 4UL,
+ BigFloat = 5UL,
+ SelfDescribeCbor = 55799UL,
+ }
+ public class CborWriter
+ {
+ public CborWriter(System.Formats.Cbor.CborConformanceMode conformanceMode = 1, bool convertIndefiniteLengthEncodings = false, bool allowMultipleRootLevelValues = false, int initialCapacity = -1);
+ public CborWriter(System.Formats.Cbor.CborConformanceMode conformanceMode = System.Formats.Cbor.CborConformanceMode.Strict, bool convertIndefiniteLengthEncodings = false, bool allowMultipleRootLevelValues = false, int initialCapacity = -1);
+ public CborWriter(System.Formats.Cbor.CborConformanceMode conformanceMode, bool convertIndefiniteLengthEncodings, bool allowMultipleRootLevelValues);
+ public byte[] Encode();
+ public int Encode(System.Span<byte> destination);
@@ -126,6 +129,7 @@
+ public void WriteBoolean(bool value);
+ public void WriteByteString(byte[] value);
+ public void WriteByteString(System.ReadOnlySpan<byte> value);
+ [System.CLSCompliantAttribute(false)]
+ public void WriteCborNegativeIntegerRepresentation(ulong value);
+ public void WriteDateTimeOffset(System.DateTimeOffset value);
+ public void WriteDecimal(decimal value);
@@ -141,14 +145,17 @@
+ public void WriteNull();
+ public void WriteSimpleValue(System.Formats.Cbor.CborSimpleValue value);
+ public void WriteSingle(float value);
+ public void WriteStartArray(System.Nullable<int> definiteLength);
+ public void WriteStartArray(int? definiteLength);
+ public void WriteStartIndefiniteLengthByteString();
+ public void WriteStartIndefiniteLengthTextString();
+ public void WriteStartMap(System.Nullable<int> definiteLength);
+ public void WriteStartMap(int? definiteLength);
+ [System.CLSCompliantAttribute(false)]
+ public void WriteTag(System.Formats.Cbor.CborTag tag);
+ public void WriteTextString(System.ReadOnlySpan<char> value);
+ public void WriteTextString(string value);
+ [System.CLSCompliantAttribute(false)]
+ public void WriteUInt32(uint value);
+ [System.CLSCompliantAttribute(false)]
+ public void WriteUInt64(ulong value);
+ public void WriteUnixTimeSeconds(double seconds);
+ public void WriteUnixTimeSeconds(long seconds);

View File

@@ -3,24 +3,23 @@
```diff
namespace System.Windows.Forms
{
public class DataGridView : System.Windows.Forms.Control
public class DataGridView : System.Windows.Forms.Control, System.ComponentModel.ISupportInitialize
{
+ protected override System.Windows.Forms.CreateParams CreateParams { get; }
}
public class Form : System.Windows.Forms.ContainerControl
{
+ public System.Windows.Forms.ScreenCaptureMode? FormScreenCaptureMode { get; set; }
+ public System.Windows.Forms.ScreenCaptureMode FormScreenCaptureMode { get; set; }
}
public class TabPage : System.Windows.Forms.Panel
{
+ protected override System.Windows.Forms.CreateParams CreateParams { get; }
}
+ public sealed class ScreenCaptureMode
+ public enum ScreenCaptureMode
+ {
+ public const System.Windows.Forms.ScreenCaptureMode Allow = 0;
+ public const System.Windows.Forms.ScreenCaptureMode HideContent = 1;
+ public const System.Windows.Forms.ScreenCaptureMode HideWindow = 2;
+ public int value__;
+ Allow = 0,
+ HideContent = 1,
+ HideWindow = 2,
+ }
}
```

View File

@@ -381,13 +381,28 @@ Function RunApiDiff {
[ValidateNotNullOrEmpty()]
[string]
$afterFriendlyName
,
[Parameter(Mandatory = $false)]
[string]
$beforeReferenceFolder = ""
,
[Parameter(Mandatory = $false)]
[string]
$afterReferenceFolder = ""
)
VerifyPathOrExit $apiDiffExe
VerifyPathOrExit $beforeFolder
VerifyPathOrExit $afterFolder
RunCommand "$apiDiffExe -b '$beforeFolder' -a '$afterFolder' -o '$outputFolder' -tc '$tableOfContentsFileNamePrefix' -eas '$assembliesToExclude' -eattrs '$attributesToExclude' -bfn '$beforeFriendlyName' -afn '$afterFriendlyName'"
$referenceParams = ""
if (-not [string]::IsNullOrEmpty($beforeReferenceFolder) -and -not [string]::IsNullOrEmpty($afterReferenceFolder)) {
VerifyPathOrExit $beforeReferenceFolder
VerifyPathOrExit $afterReferenceFolder
$referenceParams = " -rb '$beforeReferenceFolder' -ra '$afterReferenceFolder'"
}
RunCommand "$apiDiffExe -b '$beforeFolder' -a '$afterFolder' -o '$outputFolder' -tc '$tableOfContentsFileNamePrefix' -eas '$assembliesToExclude' -eattrs '$attributesToExclude' -bfn '$beforeFriendlyName' -afn '$afterFriendlyName'$referenceParams"
}
Function CreateReadme {
@@ -599,10 +614,21 @@ Function ProcessSdk
DownloadPackage $UseDefaultNuGetFeed $sdkName "After" $CurrentDotNetVersion $CurrentPreviewOrRC $CurrentPreviewNumberVersion ([ref]$afterDllFolder)
VerifyPathOrExit $afterDllFolder
# For AspNetCore and WindowsDesktop, also download NETCore references to provide core assemblies
$beforeReferenceFolder = ""
$afterReferenceFolder = ""
if ($sdkName -eq "AspNetCore" -or $sdkName -eq "WindowsDesktop") {
DownloadPackage $UseDefaultNuGetFeed "NETCore" "Before" $PreviousDotNetVersion $PreviousPreviewOrRC $PreviousPreviewNumberVersion ([ref]$beforeReferenceFolder)
VerifyPathOrExit $beforeReferenceFolder
DownloadPackage $UseDefaultNuGetFeed "NETCore" "After" $CurrentDotNetVersion $CurrentPreviewOrRC $CurrentPreviewNumberVersion ([ref]$afterReferenceFolder)
VerifyPathOrExit $afterReferenceFolder
}
$targetFolder = [IO.Path]::Combine($previewFolderPath, "Microsoft.$sdkName.App")
RecreateFolder $targetFolder
RunApiDiff $apiDiffExe $targetFolder $beforeDllFolder $afterDllFolder $currentDotNetFullName $assembliesToExclude $attributesToExclude $previousDotNetFriendlyName $currentDotNetFriendlyName
RunApiDiff $apiDiffExe $targetFolder $beforeDllFolder $afterDllFolder $currentDotNetFullName $assembliesToExclude $attributesToExclude $previousDotNetFriendlyName $currentDotNetFriendlyName $beforeReferenceFolder $afterReferenceFolder
}
#####################