7

バージョン管理は、以前のバージョンの .Net とは異なるようです。project.json は、Major.Minor.Patch-Special 形式のセマンティック バージョニング (オンラインで見たものから) を使用しているようです。

  1. これはアセンブリ バージョンのアイデアを置き換えるものですか、それとも追加するものですか? それとも、Nuget に慣れるだけですか。
  2. 実行時にバージョンにアクセスする方法。Microsoft.Framework.Runtime パッケージで Nuget.SemanticVersion オブジェクトをオンラインで見つけましたが、コードでそれを取得する方法がわかりません。
  3. ビルドまたはカスタム スクリプトだけでこの値をプログラムで更新する方法はありますか?
4

1 に答える 1

3

バージョン管理が特に劇的に変化したとは言えません。バージョン番号 xyz で、「x」は「大きな変更/重大な変更」を意味し、「y」は「マイナーな追加と修正」を意味し、「z」は「非常にマイナーな修正」を意味します。これは、セマンティック バージョニング (SemVer) の状態にかなり近いものです。

project.jsonベースのプロジェクトでは、バージョンを指定する場所は 1 つだけで、それはproject.jsonファイル自体にあります。その 1 つのバージョンは SemVer (例: x.y.z-prerel) であり、NuGet パッケージ バージョンアセンブリ バージョン、およびアセンブリ情報バージョンに使用されます。アセンブリでアセンブリ バージョンまたは情報バージョンを明示的に設定した場合、それらは優先され、オーバーライドされません。(ここでコードを見ることができます。)

実行時に、リフレクションを通じてアセンブリ バージョンを読み取ることができます (いつものように)。

DNX アプリケーションで実行する場合、実行中のILibraryManagerアプリケーションを検査するために使用できるインターフェイスもあります。ただし、これはかなり高度なシナリオです。

最後に、project.jsonファイル内でバージョンの xyz 部分をハードコーディングできます。たとえば、プレリリース指定子に1.2.3a を指定することもできます。プレリリース指定子に使用する場合、 という名前の環境変数を設定して、の値を指定できます。*1.2.3-**DNX_BUILD_VERSION*beta1rc2-54289

バージョン番号全体を外部からより柔軟に指定できるようにするために、いくつかの機能要求がログに記録されています。

于 2015-09-08T18:29:15.570 に答える