Компилятор F # и номер версии версии

Мне не удаётся выяснить, какая версия библиотеки времени исполнения F # Core должна использоваться в сочетании с платформой Mono (.NET 3.5).

  • Установленный с Microsoft.Net 4.5 поставляется с двумя версиями среды исполнения FSharp Core, 2.3.0.0 и 4.3.0.0. Я предполагаю, что первый из них предназначен для использования в .NET framework 2.0 и более поздних версиях, а второй - только .NET 4.0 или новее. Правильно ли это предположение?
  • Поскольку FSharp теперь доступен с открытым исходным кодом и доступен в Github, я могу проверить последний тег, построить его и использовать DLL FSharp.Core, который он создает в моем проекте. Что я не знаю, так это то, как номер версии в исходном файле FSharp относится к закрытым исходным кодам, включенным в пакет .NET?
  • Версия компилятора с открытым исходным кодом теперь 3.0.25, и компилятор с закрытым исходным кодом, кажется, 4.0, я смущен:
    • Как версия FSharp.Core Runtime (также 3.0.25) из проекта с открытым исходным кодом относится к закрытой версии версии 2.3.0.0? Поскольку число 3.0.25 намного выше 2.3.0.0, я предполагаю, что версия с открытым исходным кодом намного более новая, но я не уверен, поскольку я не знаю, можно ли сравнивать номера версий.
    • NuGet, с другой стороны, предлагает FSharp.Core 2.0 и 4.0, который кажется довольно старым. Почему новая версия еще не загружена в NuGet?
1 ответ

Вы объединяете два разных номера версий; не то, что я обвиняю вас, хотя я понимаю, как это может сбивать с толку, если вы новичок в F # и/или .NET.

  • Правильно. Версия 2.3.0.0 для FSharp.Core предназначена для использования с .NET 2.0 (и 3.0 и 3.5, которые являются (в основном) расширенными версиями .NET 2.0); версия 4.3.0.0 предназначена для .NET 4.0 и 4.5.
  • Последняя версия F # - F # 3.0. Это версия, поставляемая с Visual Studio 2012. ПРИМЕЧАНИЕ.. Здесь 3.0 - это языковая версия, которая не имеет ничего общего с той версией .NET Framework, которую вы хотите запустить. Репозиторий F # на GitHub использует теги версии (то есть .25 часть 3.0.25), поэтому проще сказать, нужно ли обновляться до более новой версии; изменения, как правило, просто строят скрипты, установщики и т.д. - но редко это изменения в компилятор F # и/или библиотеки.
  • Если вы создадите код из репозитория F # GitHub, а скомпилированная сборка FSharp.Core имеет версию 3.0.25, пожалуйста, откройте новую проблему в Github об этом - она ​​должна иметь те же номера версий, что и "истинные" F # библиотеки от Microsoft. Единственное различие должно быть в открытом ключе, с которым подписаны подписки.
  • Я не знаю, почему новые версии не на NuGet - это, вероятно, было просто забыто. Теперь я открою вопрос об этом, чтобы убедиться, что они добавлены как можно скорее.

licensed under cc by-sa 3.0 with attribution.