2016-10-11 7 views
4

.NET Standardは、すべての.NETプラットフォームで実装する必要があるAPIを規定しています。バージョン管理ルールは何ですか?それはbreaking.addingで、1.4が追加され、1.3と下位互換性を維持しますが、2.x1.xと下位互換性がありませんか?.NET Standardのバージョン管理ルールとは何ですか?

これに関するドキュメントは明確ではありません。

は、.NET標準ライブラリのバージョンを考えると、あなたが同じか低いバージョンをターゲットのライブラリを使用することができます:Some Microsoft docsは、純粋な後方互換性を示しています。(強調が追加されました)

ここで、上記は正しくないようです。言われていることを、the release blog postは言った:

.NET標準をターゲットライブラリからあなたが参照できるようになります彼らのバージョンがバージョンに低いか等しい場合、.NET標準、を[ライブラリはターゲット]あなたがターゲットとしています。

を.NET Frameworkの4.6.1は、.NETの標準2.0をサポートすることを可能にするために、我々はすべてのAPIを削除する必要がありました:同じブログ記事を言って自分自身を矛盾(強調追加)

.NET Standard 1.5および1.6で導入された.NET Standardから。

2.0がリリースされたので、バージョン管理のルールは何ですか? breaking.addingと思われます。 MSFTはこれをどこで文書化しましたか?

答えて

6

これについては、On.NET episode on .NET Standardでもう少し詳しく説明しました。

一般的に、これは、.NETの標準がどのように動作するかです:

  1. .NET標準意志バージョン直線的に、バージョン間の重大な変更をしないつもりで。言い換えると、.NET StandardのAPIサーフェスは同心円であると考えることができます。同心円では、上位バージョンにはより多くのAPIがあります。
  2. 特定のバージョンの.NETプラットフォームでは、特定のバージョンの.NET Standardが実装されます。
  3. このトレードオフを検討対象とする.NET標準のバージョンを選択:
    • 高いバージョン番号、使用できる複数のAPI
    • 低いバージョン番号、より多くの.NETプラットフォームのサポートそれ

なぜ変更を壊すについてのこの話はありますか?短い答えは、.NET Standard 1.xを定義する際に間違いを犯し、プラットフォームの到達範囲を考慮していないためです。 .NET Standard 1.5および1.6は無視し、依存関係を避けてください。そうするならば、.NET Standard 2.0は.NET Standard 1.4の厳密なスーパーセットです。

詳細については、 .NET Standard 2のセクションを参照してください。0の変更点:.NET Framework 4.6.1の互換性を追加するmy blog post on .NET Standardに追加しました。

更新。コミュニティの多くのフィードバックの後、私たちはこの急変を実行しないことに決めました。この決定に関する詳細は、.NET Standard FAQに記載されています。

関連する問題