Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Библиотека не может напрямую использовать API-интерфейсы, отсутствующие в целевом объекте компиляции. FSharp.Core 11 добавляет сборку net10.0 вместе и netstandard2.0netstandard2.1 поэтому она может использовать современные API-интерфейсы .NET без удаления старых целевых объектов.
Api и поведение, относящиеся к целевому объекту
Сборки могут предоставлять различные API и реализации. Решение о целевом выборе современного целевого объекта явным образом; он не соответствует целевому объекту разработки компилятора.
Какую сборку использует ваш проект
NuGet выбирает ближайший совместимый компонент для каждой целевой платформы проекта. .NET 10 и более поздних проектов можно выбратьlib/net10.0/FSharp.Core.dll; Старые совместимые целевые объекты выбирают .NET стандартный ресурс.
Чтобы диагностировать доступность, выполните приведенные действия.
- Проверьте итоговую версию пакета FSharp.Core.
- Проверьте выбранные ресурсы компиляции и среды выполнения в
obj/project.assets.json. - Проверьте среду выполнения, которая выполняет приложение, а не только ее эталонные сборки.
<LangVersion>preview</LangVersion> включает поведение компилятора. Он не добавляет отсутствующих членов Core, не выбирает другой ресурс пакета и не предоставляет поддержку среды выполнения.
Примеры различий
| Area | Доступность в Core 11 |
|---|---|
| Вспомогательные функции ValueTask и связанные перегрузки |
netstandard2.1 и net10.0 доступны, но не netstandard2.0. |
С сохранением границ Array2D.map, mapi и copy |
В сборке net10.0 используется более новый API выделения .NET; сборки для .NET Standard сохраняют резервный механизм. |
| Встроенные функции возврата Runtime-async | Предоставляется сборкой net10.0 ; Также применяются требования компилятора, языка, ссылки и среды выполнения . |
Дополнительные сведения см. в разделе "Асинхронные" и "Функции задач" и"Массив2D" и "Собственный AOT". Обычные вспомогательные средства Async/Task print/printn доступны во всех трех сборках.
Интерактивное F# и асинхронное освобождение ресурсов
Выражения задач F# уже поддерживают IAsyncDisposable ресурсы в совместимых скомпилированных проектах.
Исправление упаковки F# 11 предоставляет современную сборку Core для F# Interactive, так что эквивалентный код use и use! также работает там. Обновите набор инструментов, а не только ссылку на зависимость пакета приложения.
Асинхронная среда выполнения — это отдельный контракт среды выполнения
Целевой объект сборки Core net10.0 не обеспечивает поддержку runtime-async. Следуйте отдельным требованиям к компилятору, справочной документации и среде выполнения, приведённым в разделе Асинхронные эксперименты среды выполнения.