15

1.5.4735.28467としてコンパイルされたバージョン番号1.5。*があるとします。

4735と28467を取得するための式は何ですか?

4

1 に答える 1

23

注意:バージョン管理を別の方法で制御するための代替ツール/ルール/スキーム/マクロ/アドインなどがあります使用された場合、それらは明らかに以下を抹消します。

ただし、これは、バニラVisual Studio/.NETビルドプロセスで"*"バージョンが計算される方法です。.build.revision

バージョンを指定するときは、少なくともメジャーを指定する必要があります。メジャーとマイナーを指定する場合は、ビルドにアスタリスク(*)を指定できます。これにより、ビルドは現地時間の2000年1月1日からの日数に等しくなり、リビジョンは現地時間の午前0時からの秒数を2で割った値に等しくなります。

コーディングホラー:ビルド日付の決定は難しい方法MSDN:AssemblyVersionAttributeを参照してください。このデフォルトの拡張動作は、AssemblyVersionAttributeクラス(BCL!)に文書化されています。特別なVSコンパイラの動作ではありません(Danielのコメントを参照)コンパイラの動作だけではありません。


これが式の1つの実装です(ダニエルのコメントから抽出されたように):

int Build = DateTime.Today.Subtract(new DateTime(2000, 1, 1)).Days;
int Revision = (int)DateTime.Now.Subtract(DateTime.Today).TotalSeconds / 2; 
于 2012-12-19T01:22:04.687 に答える