Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Bibliothek kann apIs nicht direkt verwenden, die nicht im Kompilierungsziel vorhanden sind. FSharp.Core 11 fügt neben netstandard2.0 und netstandard2.1 einen net10.0 Build hinzu, sodass es moderne .NET-APIs verwenden kann, ohne ältere Zielframeworks aufzugeben.
Zielspezifische APIs und zielspezifisches Verhalten
Die Builds können unterschiedliche APIs und Implementierungen verfügbar machen. Die Targeting-Entscheidung wählt das moderne Target explizit aus; sie folgt nicht automatisch dem Entwicklungsziel des Compilers.
Welchen Build Ihr Projekt verwendet
NuGet wählt das am besten passende kompatible Asset für jedes Projektziel aus. .NET 10 und spätere Projekte können lib/net10.0/FSharp.Core.dll auswählen; ältere kompatible Ziele wählen eine .NET Standard-Ressource aus.
So diagnostizieren Sie die Verfügbarkeit:
- Überprüfen Sie die aufgelöste FSharp.Core-Paketversion.
- Überprüfen Sie die ausgewählten Kompilierungs- und Laufzeitressourcen in
obj/project.assets.json. - Überprüfen Sie die Laufzeit, mit der die Anwendung ausgeführt wird, nicht nur ihre Referenzassemblys.
<LangVersion>preview</LangVersion> bewirkt Compilerverhalten. Es fügt keine fehlenden Core-Mitglieder hinzu, wählt keine andere Paketressource aus und stellt keine Laufzeitunterstützung bereit.
Beispiele für unterschiede
| Region | Verfügbarkeit in Core 11 |
|---|---|
| ValueTask-Hilfsmethoden und zugehörige Überladungsmethoden | Verfügbar in netstandard2.1 und net10.0, nicht netstandard2.0. |
Bounds-preserving Array2D.map, mapi und copy |
Der net10.0 Build verwendet eine neuere .NET Allokations-API; .NET Standard-Builds behalten ihren Fallback bei. |
| Laufzeit-asynchrone intrinsische Funktionen | Vom net10.0 Build bereitgestellt; Compiler-, Sprach-, Referenz- und Laufzeitanforderungen gelten ebenfalls. |
Ausführliche Informationen finden Sie unter Async- und Taskfunktionen und Array2D und Native AOT. Gewöhnliche Async/Task-Hilfsprogramme und print/printn sind in allen drei Builds verfügbar.
F# Interactive und asynchrone Freigabe
F#-Aufgabenausdrücke unterstützen bereits IAsyncDisposable-Ressourcen in kompatiblen kompilierten Projekten. Der Fix für die F# 11-Paketierung stellt den modernen Core-Build für F# Interactive bereit, sodass dort auch gleichwertiger use- und use!-Code funktioniert. Aktualisieren Sie das Toolset, nicht nur den Paketverweis einer Anwendung.
Runtime async ist ein separater Laufzeitvertrag.
Das Ziel des net10.0 Core-Builds unterstützt Runtime-Async nicht. Befolgen Sie die separaten Compiler-, Referenz- und Laufzeitanforderungen in Runtime async experiments.