2009-02-27 30 views
3

私はアプリケーションのビルド日付を推測するための番号を含む正しいバージョンのビルド番号を自動的に生成したいVisual Studio 2005の.NET 2.0 C#アプリケーションを用意しています。
Microsoftから'AssemblyInfo Task'ツールを使用しようとしましたが、デフォルトではこのツールは機能しません。今日の場合、ビルド番号 '090227'が生成され、最大値は65535を超え、エラーが発生します。

2009年1月1日の09001のように、年と年を含むビルド番号でも生きることができます。
この問題の解決策をお探しですか?
この「AssemblyInfo Task」のソースコードを更新する必要がありますか、それともVS2008程度で実現することは可能でしょうか?
ご協力いただきありがとうございます。VS2005:ビルド番号を自動的に生成する方法は?

答えて

1

msbuildtasks私の問題は解決しませんでした。この説明で説明したように、私は特別なフォーマットが必要です。また、msbuildtasksのドキュメントもうまくいきます...見つけてください。
私は新しいインクリメントタイプを追加することによって、AssemblyInfo Taskのソースコードを変更した「YearAndDay」私のニーズに:

case IncrementMethod.YearAndDay: 
{ 
    DateTime dDate = DateTime.Now; 
    long buildNumber = dDate.Year % 2000 * 1000; 
    buildNumber += dDate.DayOfYear; 
    string newVersionNumber = buildNumber.ToString(); 
    Log.LogMessage(MessageImportance.Low, logMessage, newVersionNumber); 
    return newVersionNumber; 
} 

は、最も簡単な解決策であるように思われました。

3

msbuildtasksを参照してください。これは、オープンソースのmsbuildタスクセットです。モジュールにはビルド番号をインクリメント/変更/ etcするタスクがあります。それはまた、超簡単に使いやすく、超簡単に拡張することができます。

2

VS/C#/ msbuildによって生成されるデフォルトの自動ビルド番号は、1.1.2000からの日数であり、リリース番号は深夜0時からの2秒単位の増分であるため、その日時を計算できます。次のように後ろに構築してください。

new DateTime(2000, 1, 1).AddDays(assemblyName.Version.Build).AddSeconds(assemblyName.Version.Revision*2) 
関連する問題