<commit_before>@Title="Migrating from 2.x to 3.0"

Compared to Noda Time 2.0, Noda Time 3.0 contains very few breaking changes. In particular, with the exception of the areas
noted below, we intend for Noda Time 3.0 to be both *source- and binary-compatible* with Noda Time 2.x.

System requirements
====

Noda Time 2.x provided separate libraries supporting the `net45` and `netstandard1.3` frameworks (.NET 4.5+ and .NET Core 1.0+);
in comparison, Noda Time 3.0 supports only `netstandard2.0`. This effectively increases the minimum required platform versions for<commit_msg>Mention assembly binding redirects in the migration guide<commit_after>@Title="Migrating from 2.x to 3.0"

Compared to Noda Time 2.0, Noda Time 3.0 contains very few breaking changes. In particular, with the exception of the areas
noted below, we intend for Noda Time 3.0 to be both *source- and binary-compatible* with Noda Time 2.x.

Note that making use of binary compatibility to upgrade an existing deployment without recompiling will require adding
appropriate assembly binding redirects so that the new library can be loaded in place of the old (and also requires running
on a platform version supported by Noda Time 3.0).

System requirements
====

Noda Time 2.x provided separate libraries supporting the `net45` and `netstandard1.3` frameworks (.NET 4.5+ and .NET Core 1.0+);
in comparison, Noda Time 3.0 supports only `netstandard2.0`. This effectively increases the minimum required platform versions for
{'fraction_non_alphanumeric': 0.06563965170797052, 'fraction_numerical': 0.032150033489618215, 'mean_word_length': 4.659090909090909, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3103086', 'n_tokens_mistral': 423, 'n_tokens_neox': 396, 'n_words': 215}