major.minor.build.revision 形式の代わりに、バージョン番号に日付と時刻を使用したいと思います。日.月.年.時間のようなもの。AssemblyInfo.cs の AssemblyVersion 属性の形式を変更する方法はありますか?
5 に答える
必要な数値をそこに入れ (メモリに含まれるデータ型をオーバーフローしない限り)、好きなように呼び出すことができます。ただし、標準形式では通常、何らかの形式の日付がビルドフィールドに格納されているため、なぜこれを行う必要があるのか わかりません。
たとえば、私が働いている場所で使用しているアセンブリ バージョンの形式は次のとおりです。
5.1.729.1
これは、これがライブラリのバージョン 5.1 からのアセンブリであり、7 月 29 日にビルドされ、その日の最初のビルドであったことを示しています。同じ日の後続のビルドでは、単純にリビジョンフィールドがインクリメントされます。
最も簡単な方法は、これを処理する独自のビルド タスクを作成し、.csproj ファイルでタスクを呼び出して、既定のルールで更新することです。カスタム MSBuild タスクを使用してバージョン番号をインクリメントする方法に関する記事があり、ガイドとして役立つ可能性があります。過去にここで同様のことを行い、うまく機能することがわかりました。
ただし、これを行うためのツールが VS2005 に含まれているとは思いません。
etcで使用されているバージョン番号の既存のスキームに固執することをお勧めしAssemblyVersion
ます。それらにはよく知られている意味があり、それらに反対すると人々を混乱させる可能性があります。
ただし、独自のアセンブリ レベルの属性を簡単に作成し、それを日付/時刻に使用できます。残念ながら、DateTime
型をメタデータに埋め込むことはできないため、おそらく文字列を使用することをお勧めしますが、属性はDateTime
実行時にそれを に変換できます。
You could build the relevant fragment of assemblyinfo code in a build script -- it's easy enough using IronPython or F# as a scripting tool.
これらのバージョンをスクリプトなどで自動的に変更したい場合。http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspxを使用することをお勧めします
コマンドラインからも実行できます。