4

major.minor.build.revision 形式の代わりに、バージョン番号に日付と時刻を使用したいと思います。日.月.年.時間のようなもの。AssemblyInfo.cs の AssemblyVersion 属性の形式を変更する方法はありますか?

4

5 に答える 5

10

必要な数値をそこに入れ (メモリに含まれるデータ型をオーバーフローしない限り)、好きなように呼び出すことができます。ただし、標準形式では通常、何らかの形式の日付がビルドフィールドに格納されているため、なぜこれを行う必要があるのか​​ わかりません。

たとえば、私が働いている場所で使用しているアセンブリ バージョンの形式は次のとおりです。

5.1.729.1

これは、これがライブラリのバージョン 5.1 からのアセンブリであり、7 月 29 日にビルドされ、その日の最初のビルドであったことを示しています。同じ日の後続のビルドでは、単純にリビジョンフィールドがインクリメントされます。

于 2009-07-29T20:20:58.303 に答える
3

最も簡単な方法は、これを処理する独自のビルド タスクを作成し、.csproj ファイルでタスクを呼び出して、既定のルールで更新することです。カスタム MSBuild タスクを使用してバージョン番号をインクリメントする方法に関する記事があり、ガイドとして役立つ可能性があります。過去にここで同様のことを行い、うまく機能することがわかりました。

ただし、これを行うためのツールが VS2005 に含まれているとは思いません。

于 2009-07-29T20:21:38.067 に答える
1

etcで使用されているバージョン番号の既存のスキームに固執することをお勧めしAssemblyVersionます。それらにはよく知られている意味があり、それらに反対すると人々を混乱させる可能性があります。

ただし、独自のアセンブリ レベルの属性を簡単に作成し、それを日付/時刻に使用できます。残念ながら、DateTime型をメタデータに埋め込むことはできないため、おそらく文字列を使用することをお勧めしますが、属性はDateTime実行時にそれを に変換できます。

于 2009-07-29T20:37:57.827 に答える
0

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.

于 2009-07-29T20:25:45.453 に答える
0

これらのバージョンをスクリプトなどで自動的に変更したい場合。http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspxを使用することをお勧めします

コマンドラインからも実行できます。

于 2009-07-29T20:32:30.133 に答える