Changements cassants dans .NET Core 2.1
Article 18/03/2023
3 contributeurs
Commentaires
Dans cet article
Bibliothèques .NET Core
MSBuild
Voir aussi
Si vous effectuez une migration vers la version 2.1 de .NET Core, les changements cassants répertoriés dans cet article peuvent affecter votre application.
Les API de chemin d’accès ne lèvent pas d’exception pour les caractères non valides
Les API qui impliquent des chemins d’accès ne valident plus les caractères de chemin d’accès ou lèvent une exception ArgumentException si un caractère non valide est trouvé.
Description de la modification
Dans .NET Framework et .NET Core 1.0 à 2.0, les méthodes répertoriées dans la section API affectées lèvent une exception ArgumentException si l’argument de chemin contient un caractère de chemin d’accès non valide. À compter de .NET Core 2.1, ces méthodes ne vérifient plus les caractères de chemin d’accès non valides ou elles lèvent une exception si un caractère non valide est trouvé.
La validation agressive des caractères de chemin bloque certains scénarios multiplateformes. Cette modification a été introduite afin que .NET n’essaie pas de répliquer ni de prédire le résultat des appels d’API du système d’exploitation. Pour plus d’informations, consultez le billet de blog Aperçu de System.IO dans .NET Core 2.1 .
.NET Core 2.1
Si votre code était basé sur ces API pour vérifier s'il existe des caractères non valides, vous pouvez ajouter un appel à Path.GetInvalidPathChars .
System.IO.Directory.CreateDirectory
System.IO.Directory.Delete
System.IO.Directory.EnumerateDirectories
System.IO.Directory.EnumerateFiles
System.IO.Directory.EnumerateFileSystemEntries
System.IO.Directory.GetCreationTime(String)
System.IO.Directory.GetCreationTimeUtc(String)
System.IO.Directory.GetDirectories
System.IO.Directory.GetDirectoryRoot(String)
System.IO.Directory.GetFiles
System.IO.Directory.GetFileSystemEntries
System.IO.Directory.GetLastAccessTime(String)
System.IO.Directory.GetLastAccessTimeUtc(String)
System.IO.Directory.GetLastWriteTime(String)
System.IO.Directory.GetLastWriteTimeUtc(String)
System.IO.Directory.GetParent(String)
System.IO.Directory.Move(String, String)
System.IO.Directory.SetCreationTime(String, DateTime)
System.IO.Directory.SetCreationTimeUtc(String, DateTime)
System.IO.Directory.SetCurrentDirectory(String)
System.IO.Directory.SetLastAccessTime(String, DateTime)
System.IO.Directory.SetLastAccessTimeUtc(String, DateTime)
System.IO.Directory.SetLastWriteTime(String, DateTime)
System.IO.Directory.SetLastWriteTimeUtc(String, DateTime)
System.IO.DirectoryInfo ctor
System.IO.Directory.GetDirectories
System.IO.Directory.GetFiles
System.IO.DirectoryInfo.GetFileSystemInfos
System.IO.File.AppendAllText
System.IO.File.AppendAllTextAsync
System.IO.File.Copy
System.IO.File.Create
System.IO.File.CreateText
System.IO.File.Decrypt
System.IO.File.Delete
System.IO.File.Encrypt
System.IO.File.GetAttributes(String)
System.IO.File.GetCreationTime(String)
System.IO.File.GetCreationTimeUtc(String)
System.IO.File.GetLastAccessTime(String)
System.IO.File.GetLastAccessTimeUtc(String)
System.IO.File.GetLastWriteTime(String)
System.IO.File.GetLastWriteTimeUtc(String)
System.IO.File.Move
System.IO.File.Open
System.IO.File.OpenRead(String)
System.IO.File.OpenText(String)
System.IO.File.OpenWrite(String)
System.IO.File.ReadAllBytes(String)
System.IO.File.ReadAllBytesAsync(String, CancellationToken)
System.IO.File.ReadAllLines(String)
System.IO.File.ReadAllLinesAsync(String, CancellationToken)
System.IO.File.ReadAllText(String)
System.IO.File.ReadAllTextAsync(String, CancellationToken)
System.IO.File.SetAttributes(String, FileAttributes)
System.IO.File.SetCreationTime(String, DateTime)
System.IO.File.SetCreationTimeUtc(String, DateTime)
System.IO.File.SetLastAccessTime(String, DateTime)
System.IO.File.SetLastAccessTimeUtc(String, DateTime)
System.IO.File.SetLastWriteTime(String, DateTime)
System.IO.File.SetLastWriteTimeUtc(String, DateTime)
System.IO.File.WriteAllBytes(String, Byte[])
System.IO.File.WriteAllBytesAsync(String, Byte[], CancellationToken)
System.IO.File.WriteAllLines
System.IO.File.WriteAllLinesAsync
System.IO.File.WriteAllText
System.IO.FileInfo ctor
System.IO.FileInfo.CopyTo
System.IO.FileInfo.MoveTo
System.IO.FileStream ctor
System.IO.Path.GetFullPath(String)
System.IO.Path.IsPathRooted(String)
System.IO.Path.GetPathRoot(String)
System.IO.Path.ChangeExtension(String, String)
System.IO.Path.GetDirectoryName(String)
System.IO.Path.GetExtension(String)
System.IO.Path.HasExtension(String)
System.IO.Path.Combine
Champs privés ajoutés aux types de struct intégrés
Des champs privés ont été ajoutés à certains types de struct dans les assemblys de référence . Par conséquent, en C#, ces types de struct doivent toujours être instanciés à l’aide de l’opérateur new ou le littéral par défaut .
Description de la modification
Dans .NET Core 2.0 et versions précédentes, certains types de struct, par exemple, ConsoleKeyInfo , pouvaient être instanciés sans l’opérateur new
ni le littéral par défaut en C#. Cela était dû au fait que les assemblys de référence utilisés par le compilateur C# ne contenaient pas les champs privés des structs. Tous les champs privés pour les types de struct .NET sont ajoutés aux assemblys de référence à partir de .NET Core 2.1.
Par exemple, le code C# suivant est compilé dans .NET Core 2.0, mais pas dans .NET Core 2.1 :
ConsoleKeyInfo key; // Struct type
if (key.ToString() == "y")
{
Console.WriteLine("Yes!");
}
Dans .NET Core 2.1, le code précédent génère l’erreur du compilateur suivante : CS0165 – Utilisation de la variable locale non attribuée « clé »
2.1
Instanciez les types de struct à l’aide de l’opérateur new
ou du littéral par défaut .
Par exemple :
ConsoleKeyInfo key = new ConsoleKeyInfo(); // Struct type.
if (key.ToString() == "y")
Console.WriteLine("Yes!");
ConsoleKeyInfo key = default; // Struct type.
if (key.ToString() == "y")
Console.WriteLine("Yes!");
Bibliothèques .NET Core
System.ArraySegment<T>.Enumerator
System.ArraySegment<T>
System.Boolean
System.Buffers.MemoryHandle
System.Buffers.StandardFormat
System.Byte
System.Char
System.Collections.DictionaryEntry
System.Collections.Generic.Dictionary<TKey,TValue>.Enumerator
System.Collections.Generic.Dictionary<TKey,TValue>.KeyCollection.Enumerator
System.Collections.Generic.Dictionary<TKey,TValue>.ValueCollection.Enumerator
System.Collections.Generic.HashSet<T>.Enumerator
System.Collections.Generic.KeyValuePair<TKey,TValue>
System.Collections.Generic.LinkedList<T>.Enumerator
System.Collections.Generic.List<T>.Enumerator
System.Collections.Generic.Queue<T>.Enumerator
System.Collections.Generic.SortedDictionary<TKey,TValue>.Enumerator
System.Collections.Generic.SortedDictionary<TKey,TValue>.KeyCollection.Enumerator
System.Collections.Generic.SortedDictionary<TKey,TValue>.ValueCollection.Enumerator
System.Collections.Generic.SortedSet<T>.Enumerator
System.Collections.Generic.Stack<T>.Enumerator
System.Collections.Immutable.ImmutableArray<T>.Enumerator
System.Collections.Immutable.ImmutableArray<T>
System.Collections.Immutable.ImmutableDictionary<TKey,TValue>.Enumerator
System.Collections.Immutable.ImmutableHashSet<T>.Enumerator
System.Collections.Immutable.ImmutableList<T>.Enumerator
System.Collections.Immutable.ImmutableQueue<T>.Enumerator
System.Collections.Immutable.ImmutableSortedDictionary<TKey,TValue>.Enumerator
System.Collections.Immutable.ImmutableSortedSet<T>.Enumerator
System.Collections.Immutable.ImmutableStack<T>.Enumerator
System.Collections.Specialized.BitVector32.Section
System.Collections.Specialized.BitVector32
LazyMemberInfo
System.ComponentModel.Design.Serialization.MemberRelationship
System.ConsoleKeyInfo
System.Data.SqlTypes.SqlBinary
System.Data.SqlTypes.SqlBoolean
System.Data.SqlTypes.SqlByte
System.Data.SqlTypes.SqlDateTime
System.Data.SqlTypes.SqlDecimal
System.Data.SqlTypes.SqlDouble
System.Data.SqlTypes.SqlGuid
System.Data.SqlTypes.SqlInt16
System.Data.SqlTypes.SqlInt32
System.Data.SqlTypes.SqlInt64
System.Data.SqlTypes.SqlMoney
System.Data.SqlTypes.SqlSingle
System.Data.SqlTypes.SqlString
System.DateTime
System.DateTimeOffset
System.Decimal
System.Diagnostics.CounterSample
System.Diagnostics.SymbolStore.SymbolToken
System.Diagnostics.Tracing.EventSource.EventData
System.Diagnostics.Tracing.EventSourceOptions
System.Double
System.Drawing.CharacterRange
System.Drawing.Point
System.Drawing.PointF
System.Drawing.Rectangle
System.Drawing.RectangleF
System.Drawing.Size
System.Drawing.SizeF
System.Guid
System.HashCode
System.Int16
System.Int32
System.Int64
System.IntPtr
System.IO.Pipelines.FlushResult
System.IO.Pipelines.ReadResult
System.IO.WaitForChangedResult
System.Memory<T>
System.ModuleHandle
System.Net.Security.SslApplicationProtocol
System.Net.Sockets.IPPacketInformation
System.Net.Sockets.SocketInformation
System.Net.Sockets.UdpReceiveResult
System.Net.WebSockets.ValueWebSocketReceiveResult
System.Nullable<T>
System.Numerics.BigInteger
System.Numerics.Complex
System.Numerics.Vector<T>
System.ReadOnlyMemory<T>
System.ReadOnlySpan<T>.Enumerator
System.ReadOnlySpan<T>
System.Reflection.CustomAttributeNamedArgument
System.Reflection.CustomAttributeTypedArgument
System.Reflection.Emit.Label
System.Reflection.Emit.OpCode
System.Reflection.Metadata.ArrayShape
System.Reflection.Metadata.AssemblyDefinition
System.Reflection.Metadata.AssemblyDefinitionHandle
System.Reflection.Metadata.AssemblyFile
System.Reflection.Metadata.AssemblyFileHandle
System.Reflection.Metadata.AssemblyFileHandleCollection.Enumerator
System.Reflection.Metadata.AssemblyFileHandleCollection
System.Reflection.Metadata.AssemblyReference
System.Reflection.Metadata.AssemblyReferenceHandle
System.Reflection.Metadata.AssemblyReferenceHandleCollection.Enumerator
System.Reflection.Metadata.AssemblyReferenceHandleCollection
System.Reflection.Metadata.Blob
System.Reflection.Metadata.BlobBuilder.Blobs
System.Reflection.Metadata.BlobContentId
System.Reflection.Metadata.BlobHandle
System.Reflection.Metadata.BlobReader
System.Reflection.Metadata.BlobWriter
System.Reflection.Metadata.Constant
System.Reflection.Metadata.ConstantHandle
System.Reflection.Metadata.CustomAttribute
System.Reflection.Metadata.CustomAttributeHandle
System.Reflection.Metadata.CustomAttributeHandleCollection.Enumerator
System.Reflection.Metadata.CustomAttributeHandleCollection
System.Reflection.Metadata.CustomAttributeNamedArgument<TType>
System.Reflection.Metadata.CustomAttributeTypedArgument<TType>
System.Reflection.Metadata.CustomAttributeValue<TType>
System.Reflection.Metadata.CustomDebugInformation
System.Reflection.Metadata.CustomDebugInformationHandle
System.Reflection.Metadata.CustomDebugInformationHandleCollection.Enumerator
System.Reflection.Metadata.CustomDebugInformationHandleCollection
System.Reflection.Metadata.DeclarativeSecurityAttribute
System.Reflection.Metadata.DeclarativeSecurityAttributeHandle
System.Reflection.Metadata.DeclarativeSecurityAttributeHandleCollection.Enumerator
System.Reflection.Metadata.DeclarativeSecurityAttributeHandleCollection
System.Reflection.Metadata.Document
System.Reflection.Metadata.DocumentHandle
System.Reflection.Metadata.DocumentHandleCollection.Enumerator
System.Reflection.Metadata.DocumentHandleCollection
System.Reflection.Metadata.DocumentNameBlobHandle
System.Reflection.Metadata.Ecma335.ArrayShapeEncoder
System.Reflection.Metadata.Ecma335.BlobEncoder
System.Reflection.Metadata.Ecma335.CustomAttributeArrayTypeEncoder
System.Reflection.Metadata.Ecma335.CustomAttributeElementTypeEncoder
System.Reflection.Metadata.Ecma335.CustomAttributeNamedArgumentsEncoder
System.Reflection.Metadata.Ecma335.CustomModifiersEncoder
System.Reflection.Metadata.Ecma335.EditAndContinueLogEntry
System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder
System.Reflection.Metadata.Ecma335.FixedArgumentsEncoder
System.Reflection.Metadata.Ecma335.GenericTypeArgumentsEncoder
System.Reflection.Metadata.Ecma335.InstructionEncoder
System.Reflection.Metadata.Ecma335.LabelHandle
System.Reflection.Metadata.Ecma335.LiteralEncoder
System.Reflection.Metadata.Ecma335.LiteralsEncoder
System.Reflection.Metadata.Ecma335.LocalVariablesEncoder
System.Reflection.Metadata.Ecma335.LocalVariableTypeEncoder
System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder.MethodBody
System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder
System.Reflection.Metadata.Ecma335.MethodSignatureEncoder
System.Reflection.Metadata.Ecma335.NamedArgumentsEncoder
System.Reflection.Metadata.Ecma335.NamedArgumentTypeEncoder
System.Reflection.Metadata.Ecma335.NameEncoder
System.Reflection.Metadata.Ecma335.ParametersEncoder
System.Reflection.Metadata.Ecma335.ParameterTypeEncoder
System.Reflection.Metadata.Ecma335.PermissionSetEncoder
System.Reflection.Metadata.Ecma335.ReturnTypeEncoder
System.Reflection.Metadata.Ecma335.ScalarEncoder
System.Reflection.Metadata.Ecma335.SignatureDecoder<TType,TGenericContext>
System.Reflection.Metadata.Ecma335.SignatureTypeEncoder
System.Reflection.Metadata.Ecma335.VectorEncoder
System.Reflection.Metadata.EntityHandle
System.Reflection.Metadata.EventAccessors
System.Reflection.Metadata.EventDefinition
System.Reflection.Metadata.EventDefinitionHandle
System.Reflection.Metadata.EventDefinitionHandleCollection.Enumerator
System.Reflection.Metadata.EventDefinitionHandleCollection
System.Reflection.Metadata.ExceptionRegion
System.Reflection.Metadata.ExportedType
System.Reflection.Metadata.ExportedTypeHandle
System.Reflection.Metadata.ExportedTypeHandleCollection.Enumerator
System.Reflection.Metadata.ExportedTypeHandleCollection
System.Reflection.Metadata.FieldDefinition
System.Reflection.Metadata.FieldDefinitionHandle
System.Reflection.Metadata.FieldDefinitionHandleCollection.Enumerator
System.Reflection.Metadata.FieldDefinitionHandleCollection
System.Reflection.Metadata.GenericParameter
System.Reflection.Metadata.GenericParameterConstraint
System.Reflection.Metadata.GenericParameterConstraintHandle
System.Reflection.Metadata.GenericParameterConstraintHandleCollection.Enumerator
System.Reflection.Metadata.GenericParameterConstraintHandleCollection
System.Reflection.Metadata.GenericParameterHandle
System.Reflection.Metadata.GenericParameterHandleCollection.Enumerator
System.Reflection.Metadata.GenericParameterHandleCollection
System.Reflection.Metadata.GuidHandle
System.Reflection.Metadata.Handle
System.Reflection.Metadata.ImportDefinition
System.Reflection.Metadata.ImportDefinitionCollection.Enumerator
System.Reflection.Metadata.ImportDefinitionCollection
System.Reflection.Metadata.ImportScope
System.Reflection.Metadata.ImportScopeCollection.Enumerator
System.Reflection.Metadata.ImportScopeCollection
System.Reflection.Metadata.ImportScopeHandle
System.Reflection.Metadata.InterfaceImplementation
System.Reflection.Metadata.InterfaceImplementationHandle
System.Reflection.Metadata.InterfaceImplementationHandleCollection.Enumerator
System.Reflection.Metadata.InterfaceImplementationHandleCollection
System.Reflection.Metadata.LocalConstant
System.Reflection.Metadata.LocalConstantHandle
System.Reflection.Metadata.LocalConstantHandleCollection.Enumerator
System.Reflection.Metadata.LocalConstantHandleCollection
System.Reflection.Metadata.LocalScope
System.Reflection.Metadata.LocalScopeHandle
System.Reflection.Metadata.LocalScopeHandleCollection.ChildrenEnumerator
System.Reflection.Metadata.LocalScopeHandleCollection.Enumerator
System.Reflection.Metadata.LocalScopeHandleCollection
System.Reflection.Metadata.LocalVariable
System.Reflection.Metadata.LocalVariableHandle
System.Reflection.Metadata.LocalVariableHandleCollection.Enumerator
System.Reflection.Metadata.LocalVariableHandleCollection
System.Reflection.Metadata.ManifestResource
System.Reflection.Metadata.ManifestResourceHandle
System.Reflection.Metadata.ManifestResourceHandleCollection.Enumerator
System.Reflection.Metadata.ManifestResourceHandleCollection
System.Reflection.Metadata.MemberReference
System.Reflection.Metadata.MemberReferenceHandle
System.Reflection.Metadata.MemberReferenceHandleCollection.Enumerator
System.Reflection.Metadata.MemberReferenceHandleCollection
System.Reflection.Metadata.MetadataStringComparer
System.Reflection.Metadata.MethodDebugInformation
System.Reflection.Metadata.MethodDebugInformationHandle
System.Reflection.Metadata.MethodDebugInformationHandleCollection.Enumerator
System.Reflection.Metadata.MethodDebugInformationHandleCollection
System.Reflection.Metadata.MethodDefinition
System.Reflection.Metadata.MethodDefinitionHandle
System.Reflection.Metadata.MethodDefinitionHandleCollection.Enumerator
System.Reflection.Metadata.MethodDefinitionHandleCollection
System.Reflection.Metadata.MethodImplementation
System.Reflection.Metadata.MethodImplementationHandle
System.Reflection.Metadata.MethodImplementationHandleCollection.Enumerator
System.Reflection.Metadata.MethodImplementationHandleCollection
System.Reflection.Metadata.MethodImport
System.Reflection.Metadata.MethodSignature<TType>
System.Reflection.Metadata.MethodSpecification
System.Reflection.Metadata.MethodSpecificationHandle
System.Reflection.Metadata.ModuleDefinition
System.Reflection.Metadata.ModuleDefinitionHandle
System.Reflection.Metadata.ModuleReference
System.Reflection.Metadata.ModuleReferenceHandle
System.Reflection.Metadata.NamespaceDefinition
System.Reflection.Metadata.NamespaceDefinitionHandle
System.Reflection.Metadata.Parameter
System.Reflection.Metadata.ParameterHandle
System.Reflection.Metadata.ParameterHandleCollection.Enumerator
System.Reflection.Metadata.ParameterHandleCollection
System.Reflection.Metadata.PropertyAccessors
System.Reflection.Metadata.PropertyDefinition
System.Reflection.Metadata.PropertyDefinitionHandle
System.Reflection.Metadata.PropertyDefinitionHandleCollection.Enumerator
System.Reflection.Metadata.PropertyDefinitionHandleCollection
System.Reflection.Metadata.ReservedBlob<THandle>
System.Reflection.Metadata.SequencePoint
System.Reflection.Metadata.SequencePointCollection.Enumerator
System.Reflection.Metadata.SequencePointCollection
System.Reflection.Metadata.SignatureHeader
System.Reflection.Metadata.StandaloneSignature
System.Reflection.Metadata.StandaloneSignatureHandle
System.Reflection.Metadata.StringHandle
System.Reflection.Metadata.TypeDefinition
System.Reflection.Metadata.TypeDefinitionHandle
System.Reflection.Metadata.TypeDefinitionHandleCollection.Enumerator
System.Reflection.Metadata.TypeDefinitionHandleCollection
System.Reflection.Metadata.TypeLayout
System.Reflection.Metadata.TypeReference
System.Reflection.Metadata.TypeReferenceHandle
System.Reflection.Metadata.TypeReferenceHandleCollection.Enumerator
System.Reflection.Metadata.TypeReferenceHandleCollection
System.Reflection.Metadata.TypeSpecification
System.Reflection.Metadata.TypeSpecificationHandle
System.Reflection.Metadata.UserStringHandle
System.Reflection.ParameterModifier
System.Reflection.PortableExecutable.CodeViewDebugDirectoryData
System.Reflection.PortableExecutable.DebugDirectoryEntry
System.Reflection.PortableExecutable.PEMemoryBlock
System.Reflection.PortableExecutable.SectionHeader
System.Runtime.CompilerServices.AsyncTaskMethodBuilder<TResult>
System.Runtime.CompilerServices.AsyncTaskMethodBuilder
System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder<TResult>
System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder
System.Runtime.CompilerServices.AsyncVoidMethodBuilder
System.Runtime.CompilerServices.ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter
System.Runtime.CompilerServices.ConfiguredTaskAwaitable<TResult>
System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter
System.Runtime.CompilerServices.ConfiguredTaskAwaitable
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter
System.Runtime.CompilerServices.TaskAwaiter<TResult>
System.Runtime.CompilerServices.TaskAwaiter
System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>
System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>
System.Runtime.InteropServices.ArrayWithOffset
System.Runtime.InteropServices.GCHandle
System.Runtime.InteropServices.HandleRef
System.Runtime.InteropServices.OSPlatform
System.Runtime.InteropServices.WindowsRuntime.EventRegistrationToken
System.Runtime.Serialization.SerializationEntry
System.Runtime.Serialization.StreamingContext
System.RuntimeArgumentHandle
System.RuntimeFieldHandle
System.RuntimeMethodHandle
System.RuntimeTypeHandle
System.SByte
System.Security.Cryptography.CngProperty
System.Security.Cryptography.ECCurve
System.Security.Cryptography.HashAlgorithmName
System.Security.Cryptography.X509Certificates.X509ChainStatus
System.Security.Cryptography.Xml.X509IssuerSerial
System.ServiceProcess.SessionChangeDescription
System.Single
System.Span<T>.Enumerator
System.Span<T>
System.Threading.AsyncFlowControl
System.Threading.AsyncLocalValueChangedArgs<T>
System.Threading.CancellationToken
System.Threading.CancellationTokenRegistration
System.Threading.LockCookie
System.Threading.SpinLock
System.Threading.SpinWait
System.Threading.Tasks.Dataflow.DataflowMessageHeader
System.Threading.Tasks.ParallelLoopResult
System.Threading.Tasks.ValueTask<TResult>
System.TimeSpan
System.TimeZoneInfo.TransitionTime
System.Transactions.TransactionOptions
System.TypedReference
System.TypedReference
System.UInt16
System.UInt32
System.UInt64
System.UIntPtr
System.Windows.Forms.ColorDialog.Color
System.Windows.Media.Animation.KeyTime
System.Windows.Media.Animation.RepeatBehavior
System.Xml.Serialization.XmlDeserializationEvents
Windows.Foundation.Point
Windows.Foundation.Rect
Windows.Foundation.Size
Windows.UI.Color
Windows.UI.Xaml.Controls.Primitives.GeneratorPosition
Windows.UI.Xaml.CornerRadius
Windows.UI.Xaml.Duration
Windows.UI.Xaml.GridLength
Windows.UI.Xaml.Media.Matrix
Windows.UI.Xaml.Media.Media3D.Matrix3D
Windows.UI.Xaml.Thickness
Versions OpenSSL sur macOS
Les runtimes .NET Core 3.0 et versions ultérieures sur macOS préfèrent désormais les versions OpenSSL 1.1.x aux versions OpenSSL 1.0.x pour les types AesCcm , AesGcm , DSAOpenSsl , ECDiffieHellmanOpenSsl , ECDsaOpenSsl , RSAOpenSsl et SafeEvpPKeyHandle .
Le runtime .NET Core 2.1 prend désormais en charge les versions OpenSSL 1.1.x mais préfère toujours les versions OpenSSL 1.0.x.
Description de la modification
Auparavant, le runtime .NET Core utilisait les versions OpenSSL 1.0.x sur macOS pour les types qui interagissent avec OpenSSL. La version OpenSSL 1.0.x la plus récente, OpenSSL 1.0.2, n’est plus prise en charge. Pour conserver les types qui utilisent OpenSSL sur les versions prises en charge d’OpenSSL, les runtimes .NET Core 3.0 et versions ultérieures utilisent désormais des versions plus récentes d’OpenSSL sur macOS.
En raison de ce changement, le comportement des runtimes .NET Core sur macOS est le suivant :
Les runtimes .NET Core 3.0 et versions ultérieures utilisent OpenSSL 1.1.x le cas échéant. Ils repassent à OpenSSL 1.0.x uniquement si aucune version 1.1.x n’est disponible.
Pour les appelants qui utilisent les types d’interopérabilité OpenSSL avec des P/Invokes personnalisés, suivez les instructions contenues dans les remarques SafeEvpPKeyHandle.OpenSslVersion . Votre application peut se bloquer si vous ne vérifiez pas la valeur OpenSslVersion .
Le runtime .NET Core 2.1 utilise OpenSSL 1.0.x le cas échéant. Il repasse à OpenSSL 1.1.x si aucune version 1.0.x n’est disponible.
Le runtime 2.1 préfère la version antérieure d’OpenSSL, car la propriété SafeEvpPKeyHandle.OpenSslVersion n’existe pas dans .NET Core 2.1. La version OpenSSL ne peut donc pas être déterminée de manière fiable au moment de l’exécution.
.NET Core 2.1.16
.NET Core 3.0.3
.NET Core 3.1.2
Bibliothèques .NET Core
Le kit SDK .NET Core 2.1 inclut désormais des outils CLI courants, et vous n’avez plus besoin de référencer ces outils à partir du projet.
Description de la modification
Dans .NET Core 2.0, les projets référencent des outils .NET externes avec le paramètre de projet <DotNetCliToolReference>
. Dans .NET Core 2.1, certains de ces outils sont inclus dans le kit SDK .NET Core et le paramètre n’est plus nécessaire. Si vous incluez des références à ces outils dans votre projet, vous recevez une erreur de ce type : L’outil « Microsoft.EntityFrameworkCore.Tools.DotNet » est désormais inclus dans le kit SDK .NET Core .
Outils désormais inclus dans le kit SDK .NET Core 2.1 :
Agrandir le tableau
Valeur <DotNetCliToolReference>
Outil
Microsoft.DotNet.Watcher.Tools
dotnet-watch
Microsoft.Extensions.SecretManager.Tools
dotnet-user-secrets
Microsoft.Extensions.Caching.SqlConfig.Tools
dotnet-sql-cache
Microsoft.EntityFrameworkCore.Tools.DotNet
dotnet-ef
SDK .NET Core 2.1.300
Supprimez le paramètre <DotNetCliToolReference>
dans votre projet.
MSBuild
N/A