0

私の現在のクライアントには、従来の ASP.Net Web サイト プロジェクトがいくつかあります。ビルドに自動バージョン管理を導入しようとしていますが、Team City の Web サイト プロジェクトでこれを行うのに最適な方法を知りたいと思っていました。

現在、ビルドの正式なバージョン番号として、Team City の %build.number% 変数 (プロジェクト ビルド テンプレートで設定) を使用しています。アセンブリを生成する .NET プロジェクトでは、Team City の「AssemblyInfo Patcher」ビルド機能を簡単に使用できますが、アセンブリを生成しない Web サイト プロジェクトでは機能しません。

それで、何か提案はありますか?ビルドで既に Powershell と psake を使用しているため、%build.number% を使用するスクリプトを作成することは問題ではありません。それよりも、これを Web サイト プロジェクトに「適切な」方法で挿入する方法が問題です。

4

1 に答える 1

0

いくつかの解決策を試しましたが、ビルド中にTeamCityによって設定される依存アセンブリのバージョン番号を使用することになりました。アセンブリにクラスを追加すると、次のようになります。

パブリッククラスVersionUtils
{{
    プライベート読み取り専用ILog_logger;

public VersionUtils() { _logger = LogManager.GetLogger("VersionLogger"); } public string GetWebAppVerison() { string version = "unknown version"; var assembly = Assembly.GetAssembly(typeof(VersionUtils)); try { version = assembly.GetName().Version.ToString(); } catch(Exception ex) { _logger.Warn("Could not find or read version number from " + assembly.GetName(), ex); } return version; }

于 2012-09-28T11:51:31.700 に答える